我在使用 Node、npm 时遇到了一些问题,并试图找出包结构,但我不太确定要 Google 一下什么。我一直在尝试寻找 npm 包导入方式的通用约定。
我最近在 Node 中编写了一个小型 Web 服务器,并且一直在使用 HttpDispatcher帮助处理请求。当我尝试创建多个 HttpDispatcher“对象”时,问题就出现了。当我这样做时,它实际上并没有创建一个新的,而是继续使用我创建的第一个。
总的来说,我对 Javascript 和 Node 相当陌生,但是我过去遇到过一些问题,在循环中创建匿名函数(我认为这就是它们的名字)并不总是(如果有的话)如预期。因此,我真的很好奇通常如何使用具有多个实例的包?
我通过将 HttpDispatcher 'object' 设置为全局来解决我的问题(删除前面的 var 关键字。这实际上会按预期创建一个新对象。我担心这是不正确的,不过。
所以我问你: 声明/初始化/导出 npm 包中声明的对象的正确方法是什么?我应该向此包的作者提交包含我的问题的拉取请求或建议吗?
非常感谢!
最佳答案
你说得对,你应该联系HttpDispatcher模块的作者
在 HttpDispatcher 模块的末尾,而不是导出实例:
module.exports = new HttpDispatcher();
作者可以导出构造函数本身,然后您可以在消费者模块中创建任意数量的实例:
module.exports = HttpDispatcher;
关于javascript - NPM 包本地 VS 全局范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37720811/