[英]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.