簡體   English   中英

將命令分配給我的 NPM Package 而不全局安裝

[英]Assigning a command to my NPM Package without installing globally

一些 NPM 包安裝到項目中,然后您可以從項目scripts中運行它們。

這方面的一個例子是webpack-dev-server

安裝后,我只需要添加:

"dev": "webpack-dev-server"

在我的package.json腳本中,它將啟動webpack-dev-server

這是如何運作的? 該命令未全局安裝,但我的 Node 項目知道它已連接到我已安裝的 package。

我只能在我的包的package.json中找到有關將命令添加到bin屬性的信息,但除非全局安裝 ZEFE90A8E604A7C840E88D03A67F6B78D,否則這將不起作用。

我如何實現這一目標? 是否有我無法找到的官方文檔?

你是對的,但你錯過了一些小東西......

每個 package 都可以聲明一個二進制文件。 正如你所說,這是在package.jsonbin屬性中完成的

安裝時,npm 會將該文件符號鏈接到前綴/bin 以進行全局安裝,或將./node_modules/.bin/ 符號鏈接到本地安裝。

這正是webpack-dev-server所做的。 它的二進制文件安裝在./node_modules/.bin/中。

由於約定,npm\npx 能夠找到二進制文件並執行它。

在您的應用程序中,您可以利用此行為; 任何依賴於 package 的 package 都將能夠執行 package 二進制文件。

如果您想為運行腳本提供參數,請這樣做

npm run webpack-dev-server -- --version

暫無
暫無

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

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