我是 node js 的新手,创建模块如下。 我得到的是 m.add 不是 Object.anonymous 的函数
模块.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));
最佳答案
不确定为什么要这样包装代码,但 module.js
应该是这样的:
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
),但它不会看起来你也需要。
关于javascript - m.add 不是函数(新 Node js 模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34471127/