NPM 包本地 VS 全局范围

NPM Package local VS global scope

我在使用 node、npm 时遇到了一些问题,并试图找出包结构,但我不太确定要做什么 Google。关于如何导入 npm 包,我一直在努力寻找一个共同的约定。

我最近一直在用 Node 编写一个小型 Web 服务器,我一直在使用 HttpDispatcher 来帮助处理请求。当我尝试制作多个 HttpDispatcher 时出现问题 'object.' 当我这样做时,它实际上并没有创建一个新的,而是继续使用我创建的第一个。

总的来说,我对 Javascript 和 Node 还比较陌生,但是我 运行 过去曾遇到过在循环并不总是(如果有的话)按预期进行。因此,我真的很好奇通常如何使用意味着具有多个实例的包?

我通过使 HttpDispatcher 'object' 全局化(删除前面的 var 关键字来解决我的问题。这实际上会按预期创建一个新对象。我是不过担心这不合适。

所以我问你: 在 npm 包中声明的 declare/initialize/export 对象的正确方法是什么? 我应该向这个包的作者提交拉取请求或建议吗?

非常感谢!

你说的对,你应该联系HttpDispatcher模块的作者

在 HttpDispatcher 模块的末尾,而不是导出实例:

module.exports = new HttpDispatcher();

作者可以导出构造函数本身,然后您可以在消费者模块中创建任意数量的实例:

module.exports = HttpDispatcher;