我刚刚开始使用 RequireJS。我尝试了一个简单的代码,但一种方法有效,但另一种方法无效。
文件夹“script”有“main.js”,“module.js”,“require.js”
<script data-main="script/main.js" src="script/require.js"></script>
在 main.js 中
requirejs( ['module'], function( mod ) {
mod.sayHello();
} );
在 module.js 中:
define( {
name : "value",
sayHello : function() {
alert( "Hello" );
},
sayBye : function() {
alert( "Bye" );
}
} );
我希望 baseUrl 是“脚本”,如下所述:
http://requirejs.org/docs/api.html#jsfiles
baseUrl 通常设置为与 data-main 属性中使用的脚本相同的目录,以便为页面加载顶级脚本。
所以,我认为不会有问题,但 mod.sayHello() 和 sayBye() 和 console.log( mod.name ) = undefined 都没有。
I tried console.log( mod )
它打印出这样的内容:
Object {id: "_@r6", uri: "script/[email protected]", exports: Object}
当我使用 ["script/module.js"] 而不是 ["module"] 时,console.log( mod )
打印如下:
Object {name: "value"}
name: "value"
sayBye: ()
sayHello: ()
__proto__: Object
和 mod.sayHello()、mod.sayBye()、mod.name 都可以。
在 main.js 的开头包含以下内容是相同的:
requirejs.config( {
baseUrl: "script"
} );
我做错了什么...请帮忙。