1

看起来它只是简单地使用

exports代替module.exports

在这行这里

if (typeof exports !== 'undefined') {
    Backbone = exports;

但是,本教程显示了module.exports正在使用的内容。

4

2 回答 2

2

为什么骨干网不使用 module.exports?

因为没必要。exportsmodule.exports引用同一个对象

特别module.exportsexports对象相同。

如果您可以保存几个字符来输入,那为什么不这样做呢?

当您使用document.getElementById而不是window.document.getElementById. 打字更多,并没有增加任何好处。


在他们使用的教程中,module.exports因为他们想显示导出符号之间的区别exports,即

exports.foo = bar;

覆盖exports对象_

module.exports = bar;

必须使用module.exportsexports = bar;不起作用)。

于 2013-08-12T20:00:32.213 回答
1

想像在浏览器中modulewindow实际上,它们基本上是一样的。

因此,与window.location === location在浏览器中执行的 javascript 中的方式相同,module.exports === exports在节点环境中。

于 2013-08-12T20:29:16.877 回答