當我想使用vue的腳手架來創建一個項目的時候,我應該怎么做?
執行命令 npm install -g @vue/cli 全局安裝,之后就可以在控制臺中使用vue create programName 來創建一個項目。
為什么可以直接使用vue命令?
- 這類支持命令的依賴會在項目中指定命令中可執行文件的位置,在package.json中的bin屬性中指定。command: filePath

- 我們執行全局安裝時,依賴會被安裝到全局的依賴目錄(可以用npm root -g查看)。
如:

npm install 時會分析每個依賴中package.json中的bin屬性,會在lib同級的bin目錄中創建一個名為command的文件軟鏈接,指向filePath.

(不同的環境具體路徑可能不一樣,我這邊是裝了nvm,管理node的版本的)

- 系統將bin目錄寫入環境變量
(mac用冒號分隔不同的路徑)

因為bin在環境變量中,所以我們能在命令中中直接使用這些命令。
全局安裝可以全局使用命令,那局部安裝勒?
當我們在項目中執行npm install packageName 時,就可以在項目中安裝某一個依賴。
同樣地,如果這個依賴是的package.json中是有bin屬性的。
會在node_modules/.bin目錄中創建一個名為command的文件軟鏈。

那局部安裝的項目要怎么使用勒?
package.json中的script字段可以用來自定義腳本命令,使用npm run command來執行。
- 當執行npm run command時,會自動創建一個shell,再這個shell里面執行指定的腳本命令。因此,只要是shell可以運行的命令,就可以寫在npm script 中。
- npm創建的shell,會將當前目錄的nodemodules/.bin目錄交到環境變量中,執行結束后,再將環境變量恢復原樣。
這就意味著,node_modules/.bin目錄中的所有命令,可以使用添加再script中進行調用。
