2016-07-23 37 views
1

我必須製作模板模塊,每個模塊都有3個功能。例如,可以有module1.js,其將具有exports.function1,exports.function2exports.function3。將有module2.js其中也有相同的功能;只是功能會有所不同。使用導出創建模板

我使用WebStorm進行開發,當我鍵入exports.時,它給我3個函數名稱作爲自動填充建議。

我的問題是,這些函數會相互覆蓋嗎?或者可以在不同的模塊中使用相同的函數名稱嗎?

+0

可能的重複[JavaScript是否有接口類型(如Java的'接口')?](http://stackoverflow.com/questions/3710275/does-javascript-have-the-interface-type-such- as-javas-interface) – cshion

回答

1

有沒有問題,如果您使用相同的名稱:exports是,在覈心,一個簡單的對象,這是完美的罰款:

var obj = {a: 1}; 
var obj2 = {a: 2}; 
console.log(obj.a + obj2.a); // prints... 3! 

原因WebStorm顯示了三個功能,是因爲它是無法靜態確定哪些實際可用。如果你運行代碼,你會確認它。

+1

如果我錯了,糾正我,設置'exports = {}'時無效,而設置'module.exports = {}'很好。對? –

+1

是的,沒錯!嗯,它不是*無效*說,但它不會更新外部 – Ven

+1

@LittleChild是的,因爲第一個示例覆蓋現有的引用與一個新的 –