1 package.json scripts
執(zhí)行npm run serve
释簿,實(shí)際會(huì)去執(zhí)行package.json中scripts定義的serve命令
"scripts": {
"serve": "vue-cli-service serve"
},
2 node_modules/.bin
接上面霹娄,package.json中serve
命令里的vue-cli-service
,實(shí)際會(huì)去運(yùn)行node_modules/.bin
中同名的腳步文件只估。
so,npm run serve
可以約等于執(zhí)行了 ./node_modules/.bin/vue-cli-service serve
枢舶。
ps:.bin
目錄下一個(gè)命令對(duì)應(yīng)的腳本文件其實(shí)會(huì)有三個(gè)涂邀,以cross-env
為例,安裝完成后,在bin目錄下會(huì)有:cross-env
研铆、cross-env.cmd
埋同、cross-env.ps1
三個(gè)文件。默認(rèn)執(zhí)行的文件是cross-env棵红,windows系統(tǒng)中cmd執(zhí)行的情況凶赁,會(huì)執(zhí)行.cmd后綴的文件,powershell執(zhí)行ps1后綴的可以跨平臺(tái)逆甜。
3 package.json bin
那么是什么時(shí)候把腳本文件添加到./bin目錄下的呢哟冬,就是在執(zhí)行npm install
命令的時(shí)候。"@vue/cli-service"
中的package.json文件忆绰,聲明了bin
屬性:
"bin": {
"vue-cli-service": "bin/vue-cli-service.js"
}
這樣在執(zhí)行npm install vue-cli-service
的時(shí)候就會(huì)把"bin/vue-cli-service.js"
放到node_modules/.bin
的目錄下
當(dāng)然全局安裝的時(shí)候浩峡,可以直接在命令行執(zhí)行vue-cli-service
(局部安裝的情況,命令行直接執(zhí)行會(huì)報(bào)錯(cuò)