2017-11-18 101 views
0

在此tutorial筆者使用此代碼舉例出口代碼:module.exports在webpack中的工作方式是否有所不同?

// sum.js

var sum = function (a, b) { 
    return a + b; 
}; 
module.exports = sum; 

但是這是否錯了?我以爲module.exports是一個對象,你想分配的sum給它的鍵和功能的value它類似於像這是什麼其他article一樣 -

// greetings.js

// var exports = module.exports = {};

exports.sayHelloInEnglish = function() { 
    return "HELLO"; 
}; 

exports.sayHelloInSpanish = function() { 
    return "Hola"; 
}; 

。第一個作者搞砸了嗎?

回答

3

module.exports只是從require()返回的參考。您可以將其值設置爲包含方法的object以及您可以將其值設置爲函數或任何其他可分配的值。

+0

它的範圍爲每個文件的基礎?這樣每個文件中的'module.exports'作用於該文件,因爲在文件a.js中將其值設置爲「a」將不會在文件中將其值設置爲「b」 b.js? commonjs是否神奇地將所有這些鍵和值放入1個對象中供您從中要求? – stackjlei

+0

使用Webpack時,所有文件都使用IIFE模塊捆綁成一個大文件。這可以通過閉包來防止模塊之間的變量名稱衝突。 –

+0

如果滿意,請接受答案。 –

相關問題