【问题标题】:Load customized Dojo module加载自定义的 Dojo 模块
【发布时间】:2016-01-21 03:19:35
【问题描述】:

我对 Dojo 很陌生,所以这听起来可能很愚蠢。

我使用 Dojo 1.7 作为托管资源(即我下载了 dojo 包并将其放在源代码下)。然后我在另一个文件夹中定义了一个自定义模块。结构如下:

/
  libs/
    js/
      dojo/
        dojo.js
  myPage/
    myModules/
      myCustomizedModule.js
    index.html

我正在使用“定义”函数在 myPage/myModules/myCustomizedModule.js 中定义一个模块

在“myPage”文件夹中,我使用 index.html 来要求自定义模块:

<script>
   require(["myPage/myModules/myCustomizedModule"], function(myCustomizedModule){
     // Do something.
   })
</script>

但是,我无法让它工作:控制台报告了一个错误: “http://localhost/myDojoTest/libs/js/dojo/myPage/MyModules/myCustomizedModule.js404(未找到)”。

我知道这个目录不正确,因为“myPage”文件夹不在“libs/js/dojo”下。但似乎在使用“require”语句时,代码没有使用当前HTML文档的相对路径,而是使用dojo.js文件的当前路径。

我可以做些什么来正确引用我的自定义模块?

非常感谢!

【问题讨论】:

    标签: module dojo require


    【解决方案1】:

    根据您的要求,您需要设置如下所示的包

    <!-- dojo configuration options -->
    <!-- For Package configuration refer tutorial at     http://dojotoolkit.org/documentation/tutorials/1.7/modules/ -->
    <script type="text/javascript">
            var dojoConfig = {
                async: true,
                baseUrl: "/",
                tlmSiblingOfDojo: false,
                packages: [
                    { name: "dojo",  location: "libs/js/dojo" },
                    { name: "dijit", location: "libs/js/dijit" },
                    { name: "dojox", location: "libs/js/dojox" },
                    { name: "myModules", location: "myPage/myModules" }
                ]
            };
        </script>
    

    您可以在require 函数调用中访问dojo、dijit 和myModules。

    记住您需要模块之前加上它们各自的包。

    <script>
            require([
                //Require resources.
                "dojo/store/Memory",
                "myModules/myCustomizedModule"
            ], function(Memory, myCustomizedModule){
               ....
            }
            );
    </script>
    

    希望对你有帮助。

    【讨论】:

    • 是的!我只是通过研究弄清楚!和你的答案一样:)谢谢!
    • @Eric 如果您觉得答案有用,请考虑接受或投票:)
    猜你喜欢
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多