繁体   English   中英

NPM包本地VS全局范围

[英]NPM Package local VS global scope

我在node,npm上遇到了一些问题,试图弄清楚包的结构,但我不太确定对Google有什么看法。 我一直在寻找有关如何导入npm软件包的通用约定。

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

我一般对Javascript和Node还是陌生的,但是过去我遇到过这样的问题:在循环中创建匿名函数(我认为这就是它们的名字)并不总是(如果有的话)按预期进行。 因此,我真的很好奇通常如何使用具有多个实例的程序包?

我通过使HttpDispatcher'object'成为全局对象(删除了前面的var关键字)解决了我的问题。这实际上将按预期方式创建一个新对象。不过,我担心这样做不合适。

所以我问你: 声明/初始化/导出在npm包中声明的对象的正确方法是什么? 我是否应该向我的问题的软件包作者提交拉取请求或建议?

非常感激!

没错,您应该与HttpDispatcher模块的作者联系

在HttpDispatchermodule的末尾,而不是导出实例:

module.exports = new HttpDispatcher();

作者可以导出构造函数本身,然后可以在使用者模块中创建所需数量的实例:

module.exports = HttpDispatcher;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM