努力充分利用 Node 的 module/require()/exports 设置来进行正确的 OO 编程。创建全局命名空间而不使用导出(如在客户端 js 应用程序开发中)是一种好的做法吗?因此,在模块(Namespace.Constructor.js)中:
Namespace = Namespace || {};
Namespace.Constructor = function () {
//initialise
}
Namespace.Constructor.prototype.publicMethod = function () {
// blah blah
}
...并且在调用文件时只需使用...
requires('Namespace.Constructor');
var object = new Namespace.Constructor();
object.publicMethod();
Thanks
在node.js中,模块位置是命名空间,因此不需要像您所描述的那样在代码中使用命名空间。我认为这存在一些问题,但它们是可以管理的。 Node 将仅公开附加到 module.exports 对象的代码和数据。
在您的示例中,使用以下内容:
var Constructor = function() {
// initialize
}
Constructor.prototype.publicMethod = function() {}
module.exports = Constructor;
然后,在您的调用代码中:
var Constructor = require('./path/to/constructor.js');
var object = new Constructor();
object.publicMethod();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)