javascript - 带有自定义包路径的 dojo 1.9 配置

标签 javascript dojo require amd

所以我可以看到该文件已从 dojoConfig 引用中正确加载,但是,当我尝试使用该模块时,其“未定义”任何建议:

更新:这将加载文件,但是当我将变量放入控制台时,什么也没有出现。检查它时,我看到很多文本,而不是我放置在其中的对象数组。

index.html:

<script>
   dojoConfig = {
     tlmSiblingOfDojo: true,
     async: true,
     parseOnLoad: false,
     packages: [
                { name: "main", location: "/components/3.6compact/js/dojo/dojo/main"},
                { name: "jquery", location: "/scripts/libs", main: "jquery"},
                {name: "jam", location: "/scripts/mylibs", main: "lod"}
            ]
        };
    </script>
    <script src="/components/3.6compact/js/dojo/dojo/dojo.js"></script>
    <script src="/scripts/app.js"></script>

lod.js:

define([], function(){
  var lod = [{
    'level': 0,
    'resolution': 156543.033928,
    'scale': 591657527.591555
}, {
    'level': 1,
    'resolution': 78271.5169639999,
    'scale': 295828763.795777
}
 ];
 return lod;
 });

app.js:*

require(['jam'], function(jam){
  console.log(lod);
});

最佳答案

很难提供像 jsfiddle 这样的例子,我们无法通过文件路径指定资源,但我认为问题出在 javascript 中的模块 id 上。在 dojoConfig 中,location 属性定义了该包中的模块所在的目录的路径。

如果您的 lod 模块位于 /scripts/mylibs/lod.js 中,那么您需要 require lod/lod:

require(['lod/lod'], function(lod) {
    console.log("lod module:", lod);
});

Here's the documentation for dojo config 。我会查看“加载器配置”部分。

无论如何,我尝试了 jsfiddle,这可能很有用:http://jsfiddle.net/tupton/ftN6h/

注意控制台中的错误:

“洛德”:

GET http://fiddle.jshell.net/scripts/mylibs/LOD.js 404 (Not Found)

和“lod/lod”:

GET http://fiddle.jshell.net/scripts/mylibs/lod.js 404 (Not Found)

我不熟悉包配置的“main”属性,但看起来这就是当您尝试要求整个包时它正在使用的属性。也许尝试将其更改为“lod”,以便它查找“.../lod.js”?

关于javascript - 带有自定义包路径的 dojo 1.9 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18901980/

相关文章:

javascript - jquery .each 中的 JSON 数组在使用 .append 时仅显示数组的最后一个值

javascript - 对 json 数据进行分组并对值求和

javascript - 使用 dojo 访问远程 CSV 时出现问题

module - 使用 CasperJS 进行 Web 抓取会返回未记录的奇怪错误

Javascript 函数在通过 PHP require 获取的网站部分中不起作用

javascript - Node.js 需要函数父对象吗?

javascript - 缩小 border-radius div 元素并保持相同位置,蛋形

javascript - 在定义该函数期间评估 jQuery 函数变量值

javascript - 为 dijit/form/TextBox 正确设置值时如何避免触发事件 'change'?

dojo - 以编程方式将粗体和字体添加到 dijit/form/select