这里我有一个简单的requirejs设置。它由两个依赖项组成 - 一个是jQuery,另一个是我自己的模块。我在myModule.init()上收到错误:
Uncaught ReferenceError: myModule is not defined
HTML:
<script data-main="js/app.js" src="js/require.js"></script>
app.js中的代码:
requirejs.config({
baseUrl: 'js/lib',
paths: {
app: '../app',
jquery: 'jquery-3.1.1.min',
}
});
// Start the main app logic.
requirejs(['jquery', 'app/myModule'],
function($, myModule) {
myModule.init();
});
这是我创建的模块:
define('myModule', function () {
return {
init: function(){
console.log('Hello World!');
}
}
});
控制台日志:
Uncaught TypeError: Cannot read property 'init' of undefined
答案 0 :(得分:1)
不要为模块提供名称。
// app/myModule.js
define(function () {
return {
init: function(){
console.log('Hello World!');
}
}
});
如果您觉得有必要,请将其与“要求”相匹配,但这是更多的工作,您应该避免它(让requirejs优化工具为您执行此操作):
// app/myModule.js
define("app/MyModule", function () {
return {
init: function(){
console.log('Hello World!');
}
}
});