我認爲我缺少一些東西。我讀過你可以使用RequireJS而不是使用Dojo加載器來使用dojo模塊。我對RequireJS和定義模塊感到半舒服,但似乎無法弄清楚發生了什麼。我查看了dojo js文件,發現它們使用的是define(),就像我聲明自己的模塊時一樣。我的文件被組織這樣無法加載包含RequireJs的Dojo模塊
// File path
-js
main.js
- lib
.require.js
-dojo
// All dojo files
我不知道我錯過了什麼,但是當我試圖加載模塊道場的價值是不確定的。 繼承人一些示例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);
在此先感謝!
相當舊的帖子,但我想知道如果你有requirejs和dojo加載 –