我正在尝试在requirejs
中定义一个模块,并在另一个脚本中使用它。
我已经尝试了很多东西,但是我无法实现我想要的。
目前这就是我所拥有的。
define([],{
return {
functionOne: function(){etc, etc...}
functionTwo: function(){etc, etc...}
}
})
然后将其放入配置文件中
requirejs.config({
paths: {myModule: pathToMyModule}
})
然后,在我要使用此模块的脚本中
requirejs(["myModule"], function(){
//Some code
})
但是当我尝试使用已定义的模块时,仍然出现此错误:
myModule is not defined.
functionOne is not defined.
functionTwo is not defined.
我想念什么吗?
谢谢。
答案 0 :(得分:0)
要声明模块,您需要使用function
,因此myModule.js
中的第一行应如下所示:
define([], function () { // ...
调用模块时,需要将其声明为参数,因此您的requirejs
调用应如下所示:
requirejs(["myModule"], function (myModule) {
// ^^^^^^^^
// Notice the argument declaration
以下对我有用:
// myModule.js
define([], function () {
return {
functionOne: function(){
console.log("Hello, world. I'm functionOne.");
},
functionTwo: function(){
console.log("Hello, world. I'm functionTwo.");
}
}
});
// require.config.js
requirejs.config({
paths: { myModule: './myModule' }
});
// index.js
requirejs(["myModule"], function (myModule) {
myModule.functionOne();
myModule.functionTwo();
})