[英]How can I export module pattern function to another JavaScript file
我有两个 JavaScript 文件,想将具有模块模式的文件导出到另一个文件。 带有模块模式的文件,我只想导出公共成员。 当我尝试执行测试时,它说“计算器不是构造函数”。
文件:calculator.js
var Calculator = function(){
var total = null;
return {
add: function(x,y){
total = x + y;
},
getTotal: function(){
return total;
};
display: function(){
console.log(total);
}
}
}
第二个文件:testCalculator.js
const calculatorObj = require('calculator.js');
describe("Calculator test suite", function(){
var calculatorObj = new Calculator();
it('Verify sum method', function() {
try{
calculatorObj.add(5,5);
//assertive
expect(10, calculatorObj.getTotal());
}
catch(err)
{
alert(err);
}
});
});
它不起作用,因为您需要在使用之前导出一些东西。
添加此代码以使其工作
module.exports = function(){
var total = null;
return {
add: function(x,y){
total = x + y;
},
getTotal: function(){
return total;
};
display: function(){
console.log(total);
}
}
}
我必须列出所有要导出的 function 名称吗?
是的,你必须导出所有你想稍后导入的东西。 或者您可以导出一个 object 以及您需要的所有代码。
我需要使用“import”还是“require()”
对于 Node.js, require
是常见的做法。 最新的 Node.JS 支持import
构造,但至少目前,使用 require 更可取。
对于浏览器,您将使用import
符号。
而您的 function 不是经典构造函数,请查看class符号
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.