需要js,如何调用定义的模块?
Require js, how to call defined module?
我正在尝试在 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.
我是不是漏掉了什么?
谢谢。
要声明您的模块,您需要使用 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();
})
我正在尝试在 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.
我是不是漏掉了什么?
谢谢。
要声明您的模块,您需要使用 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();
})