2012-07-30 74 views
2

有时我见过人们在他们的代码中使用module.exports.instanceexample)。这与module.exports有什么不同?`module.exports.instance`是什么意思?

+0

这是一个属性被添加到'出口'对象,就像任何其他财产。他们正在给它分配一个'ConnectAssets'构造函数的实例。没什么特别的。它没有特殊的含义WRT NodeJS API。 – 2012-07-30 03:28:22

回答

1

字面差异在于module.exports.instance是由module.exports引用的对象的属性。

为什么要使用名为instance的属性?一种可能性是Singleton Patternresolve issues with circular dependencies among modules的应用。

+0

这样我可以要求该模块并将新属性附加到该模块?例如'var connectAssets = require('connect-assets'); connectAssets.instance.foo ='bar';' – powerboy 2012-07-30 05:51:50

+0

您可以为模块分配任何有效的属性。例如'var module = require('module'); module.foo ='bar';'使用'instance'作为一个属性名称没有特别的意义,它被视为对象的任何其他属性。我只是举了一个例子,你可以使用一个名为'instance'的属性。 – CgodLEY 2012-07-30 06:10:38