足りないものがあると思います。Dojoローダーを使用する代わりにRequireJSを使用して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);
前もって感謝します!