Node.js 命名空间

2023-11-23

努力充分利用 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(使用前将#替换为@)

Node.js 命名空间 的相关文章

随机推荐