Javascript module.exports在webpack中的工作方式是否不同?
在本文中,作者使用此代码举例说明导出代码: //sum.jsJavascript module.exports在webpack中的工作方式是否不同?,javascript,webpack,require,commonjs,Javascript,Webpack,Require,Commonjs,在本文中,作者使用此代码举例说明导出代码: //sum.js var sum = function (a, b) { return a + b; }; module.exports = sum; 但这不是错吗?我认为模块.exports是一个对象,您应该将sum的键分配给它,并将函数的值分配给它,类似于另一个的操作- //问候你 //var exports=module.exports={} exports.sayHelloInEnglish = function() { retu
var sum = function (a, b) {
return a + b;
};
module.exports = sum;
但这不是错吗?我认为模块.exports
是一个对象,您应该将sum
的键分配给它,并将函数的值分配给它,类似于另一个的操作-
//问候你
//var exports=module.exports={}
exports.sayHelloInEnglish = function() {
return "HELLO";
};
exports.sayHelloInSpanish = function() {
return "Hola";
};
。第一作者搞砸了吗?模块。导出只不过是从require()
返回内容的参考。您可以将其值设置为包含方法的对象,也可以将其值设置为函数或任何其他可分配值。模块。exports
只是从require()
返回内容的参考。您可以将其值设置为包含方法的对象
,也可以将其值设置为函数或任何其他可赋值。并且它的范围是基于每个文件的?这样每个文件中的module.exports
的作用域就是该文件,即在文件a.js中将其值设置为'a'
不会影响在文件b.js中将其值设置为'b'
?commonjs是否只是神奇地将所有这些键和值放入一个对象中供您使用?使用Webpack时,所有文件都使用IIFE模块绑定到一个大文件中。它通过闭包来防止模块之间的变量名冲突。我仍然很困惑-是module.exports
一个全局对象,还是它的作用域为使用它的每个文件?它的作用域为每个文件?这样每个文件中的module.exports
的作用域就是该文件,即在文件a.js中将其值设置为'a'
不会影响在文件b.js中将其值设置为'b'
?commonjs是否只是神奇地将所有这些键和值放入一个对象中供您使用?使用Webpack时,所有文件都使用IIFE模块绑定到一个大文件中。它通过闭包来防止模块之间的变量名冲突。我仍然很困惑-是module.exports
全局对象,还是它的作用域是使用它的每个文件?