我想我缺少一些东西。我读过你可以使用 RequireJS 来使用 dojo 模块,而不是使用 Dojo 加载器。我对 RequireJS 和定义模块很满意,但我似乎无法弄清楚发生了什么。我查看了 dojo js 文件,发现它们使用的 define() 与我声明自己的模块时一样。我的文件是这样组织的
// File path
-js
main.js
- lib
.require.js
-dojo
// All dojo files
我不确定我缺少什么,但是当我尝试加载 Dojo 模块时,该值未定义。下面是一些示例 HTML:
// index.html
<html>
<head>
</head>
<body>
// include require script & set main.js
<script data-main="js/main" src="js/lib/require.js"></script>
</body>
</html>
和一个示例 main.js 文件...
// Sample main.js file
// BaseUrl = js/
require.config({
packages : [
name : 'dojo',
location : 'lib/dojo';
]
});
require(['dojo', 'dojo/dom'], function(dojo, dom) {
// 'dojo' should load dojo/main.js
// 'dojo/dom' should load dojo/dom.js
// But they have a value of "undefined" when I look at them in the console
console.log(dojo);
});
任何想法我做错了什么?作为旁注,有时我会在控制台中收到此错误
TypeError: _3.add is not a function
[Break On This Error]
_3.add("dom-addeventlistener",!!document.addEventListener);
提前致谢!