module.exports在webpack中的工作方式是否有所不同?
问题描述:
在此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";
};
。第一个作者搞砸了吗?
答
module.exports
只是从require()
返回的参考。您可以将其值设置为包含方法的object
以及您可以将其值设置为函数或任何其他可分配的值。
它的范围为每个文件的基础?这样每个文件中的'module.exports'作用于该文件,因为在文件a.js中将其值设置为“a”将不会在文件中将其值设置为“b” b.js? commonjs是否神奇地将所有这些键和值放入1个对象中供您从中要求? – stackjlei
使用Webpack时,所有文件都使用IIFE模块捆绑成一个大文件。这可以通过闭包来防止模块之间的变量名称冲突。 –
如果满意,请接受答案。 –