![](/img/trans.png)
[英]Can my NPM CLI package be executed on CMD without installing globally?
[英]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.json
的bin
屬性中完成的
安裝時,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.