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;
我在使用 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;