为module.exports赋值

时间:2016-06-17 13:44:09

标签: javascript node.js commonjs

我正在阅读Node.js Design Patterns中的module.exports。在本书中,提到:

  

重新分配exports变量没有任何效果,因为它不会更改module.exports的内容,它只会重新分配变量本身。

以下代码错误:

 exports = function() {
   console.log('Hello');
 };

我无法理解为什么上述作业有误?

1 个答案:

答案 0 :(得分:0)

通过执行此操作,您将覆盖本地exports变量。哪个是每个Node.js文件周围wrapper function的本地文件。现在,V8可以让您知道在使用新对象时对原始exports对象所做的修改。

您要执行的操作会覆盖exports对象中的module键。

module.exports = function() {
  console.log('Hello');
};

为了更方便,您还可以分配到exports变量,以便您可以在本地利用它:module.exports = exports = ...。这真的是exports,是访问module.exports的更快捷方式。