簡體   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