我是节点js的新手,并按照以下方式创建模块。 我得到的是m.add不是Object.anonymous的函数
Module.js
(function(exports, require, module, __filename, __dirname) {
exports.add = add;
exports.multiply = multiply;
function add(number1, number2) {
return parseInt(number1, 10) + parseInt(number2, 10);
}
function multiply(number1, number2) {
return parseInt(number1, 10) * parseInt(number2, 10);
}
});
App.js
var m = require('./module');
console.log(m.add(3, 5));
console.log(m.multiply(4, 5));
答案 0 :(得分:6)
不确定为什么要像这样包装你的代码,但这里module.js
应该是这样的:&/ p>
function add(number1, number2) {
return parseInt(number1, 10) + parseInt(number2, 10);
}
function multiply(number1, number2) {
return parseInt(number1, 10) * parseInt(number2, 10);
}
// don't export your functions individually
// export them on an object (which is how you use them in your app)
module.exports = {
add: add,
multiply: multiply
}
如果您愿意,也可以 为您的功能进行单独导出(就像您在 module.js
中所做的那样),但它看起来并不像你也需要。