您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

CommonJs模块系统中“ module.exports”和“ exports”之间的区别

CommonJs模块系统中“ module.exports”和“ exports”之间的区别

module@H_403_2@是具有exports@H_403_2@属性的普通JavaScript对象。exports@H_403_2@是一个普通的JavaScript变量,碰巧设置为module.exports@H_403_2@。在文件末尾,node.js基本上将“返回”module.exports@H_403_2@该require@H_403_2@函数。在Node中查看JS文件的一种简化方法是:

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

// your code

return module.exports;
@H_403_2@

如果在上设置exports@H_403_2@,如exports.a=9;@H_403_2@,该属性也会设置module.exports.a@H_403_2@,因为对象是作为JavaScript中的引用传递的,这意味着如果将多个变量设置为同一对象,则它们都是同一对象;因此,exports@H_403_2@和module.exports@H_403_2@是相同的对象。 但是,如果你设置exports@H_403_2@新的东西,这将不再被设定为module.exports@H_403_2@,所以exports@H_403_2@并module.exports@H_403_2@不再是同一个对象。

其他 2022/1/1 18:14:19 有701人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶