在 AMD javascript 模块中编写多个函数
Writing multiple functions in AMD javascript module
我对使用 AMD 编写 javascript 代码还很陌生。我一直在弄清楚如何在一个文件中编写多个函数:
define(function(){
return {
and: function(a,b){
return (a&&b);
}
};
}
);
我尝试按以下方式编写另一个函数 plus
:
define(function(){
return {
plus: function(a,b){
return (a+b);
}
};
}
);
但是我用grunt测试的时候,检测不到plus的功能
您应该将每个模块放在它自己的文件中。至少 requireJS(你在使用它吗?)通过它的文件名(没有 .js)确定模块名称。
因此位于 /modules/A.js 中的文件将具有模块名称 "modules/A".
如果你真的想在一个文件中定义多个模块,你可以像这样以更明确的方式进行:
define("A", [], function () { return ...whatever... });
define("B", [], function () { return ...whatever... });
编辑:
为了定义具有两个功能的一个模块,您可以使用不同的模式。对于单身人士(即没有 "Class"),我通常会这样做:
define(function () {
var myModule = {
fn1: function () { .... },
fn2: function () { .... }
};
return myModule;
});
我对使用 AMD 编写 javascript 代码还很陌生。我一直在弄清楚如何在一个文件中编写多个函数:
define(function(){
return {
and: function(a,b){
return (a&&b);
}
};
}
);
我尝试按以下方式编写另一个函数 plus
:
define(function(){
return {
plus: function(a,b){
return (a+b);
}
};
}
);
但是我用grunt测试的时候,检测不到plus的功能
您应该将每个模块放在它自己的文件中。至少 requireJS(你在使用它吗?)通过它的文件名(没有 .js)确定模块名称。
因此位于 /modules/A.js 中的文件将具有模块名称 "modules/A".
如果你真的想在一个文件中定义多个模块,你可以像这样以更明确的方式进行:
define("A", [], function () { return ...whatever... });
define("B", [], function () { return ...whatever... });
编辑:
为了定义具有两个功能的一个模块,您可以使用不同的模式。对于单身人士(即没有 "Class"),我通常会这样做:
define(function () {
var myModule = {
fn1: function () { .... },
fn2: function () { .... }
};
return myModule;
});