簡體   English   中英

如何使用演示應用程序創建npm包?

[英]how to create npm package with a demo app?

包提供某種類型的演示應用程序似乎是一種很好的做法,所以我只是想知道組織文件結構的最簡潔方法是什么?

我想要一個包含我發布的NPM模塊和一個簡單的演示webapp的github存儲庫。

理想情況下,我想要一個頂級的:

package/
demo/

並將代碼package/分發到NPM。 我可以使用package.json文件選項

files: [ 'package' ]

但是,所有代碼都將使用該路徑前綴進行分發,例如

node_modules/MyPackageName/package/index.js

有沒有辦法修改路徑前綴,以便更改頂級目錄並刪除用於組織文件的額外package/我?

當然其他人有辦法做到這一點,但我寧願不使用兩個回購 - 一個演示和一個包。

澄清我希望能夠直接從github安裝包,作為一種“窮人私人NPM”。 所以我不想只是從'package'目錄中發布。 我認為使用github URL可以指定要使用的分支,但不能指定子目錄。

你可以在NODE_PATH env變量的幫助下完成這個:

export NODE_PATH='yourdir'/node_modules

參考

如果將NODE_PATH環境變量設置為以冒號分隔的絕對路徑列表,則Node.js將在這些路徑中搜索模塊(如果在其他位置找不到它們)。

在Windows上,NODE_PATH由分號(;)而不是冒號分隔。

最初創建NODE_PATH是為了支持在當前模塊解析算法被凍結之前從不同路徑加載模塊。

NODE_PATH仍然受支持,但由於Node.js生態系統已經確定了用於定位依賴模塊的約定,因此不太必要。 當人們不知道必須設置NODE_PATH時,有時依賴於NODE_PATH的部署會出現令人驚訝的行為。 有時模塊的依賴關系會發生變化,導致在搜索NODE_PATH時加載不同的版本(甚至是不同的模塊)。

此外,Node.js將搜索以下GLOBAL_FOLDERS列表:

1:$ HOME / .node_modules 2:$ HOME / .node_libraries 3:$ PREFIX / lib / node其中$ HOME是用戶的主目錄,$ PREFIX是Node.js配置的node_prefix。

這些主要是出於歷史原因。

強烈建議將依賴項放在本地node_modules文件夾中。 這些將加載更快,更可靠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM