1、npm run dev 還是 npm run serve
最近運行一些前端項目的時候,發現不同的項目有使用npm run dev,有的使用npm run serve,所以就很好奇,這是怎么回事,輸入命令錯誤后,會報如下錯,所以就想探究一下原因。下面是一些相關報錯如下:
npm run dev npm ERR! missing script: dev npm ERR! A complete log of this run can be found in: npm ERR! E:\nodejs\node_cache\_logs\2018-12-12T15_06_08_674Z-debug.log
2、npm run dev / build / serve 執行來源
其實 npm run dev 或者是 npm run serve 等 npm run xxx 並不是一定要這么寫。
npm run XXX是執行Vue項目配置在 package.json 中的腳本,比如:
"scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "lint": "vue-cli-service lint" },
npm run xxx 中的 xxx 可以理解為鍵值對中的 key,實際上 run 的是在 package.json 里面 scripts 配置的 value;
比如,npm run serve 實際運行的是 vue-cli-service serve;
而放在 3.0 以前運行的則是 node build/dev-server.js 文件;
這時候我們再來看上邊的問題是不是豁然了呢, scripts 中並沒有配置 dev ,所以控制台報了 [ missing script: dev ] 的錯誤 ;
3、小結
npm run xxx,並不是你想運行就運行的,只有在 package.json腳本中對scripts 配置了,才可以進行 run 的,所以不是所有的項目都能 npm run dev/serve。
要了解這些命令做了什么,就要去scripts中看具體執行的是什么代碼。
這里就像是一些命令的快捷方式,免去每次都要輸入很長的的命令(比如 serve 那行)
一般項目都會有 build, dev, serve 等,所以起名,最起碼要從名字上基本能看出來是干什么的。