成考過來(lái)人的忠告網(wǎng)站優(yōu)化公司收費(fèi)
????????前端開發(fā)過程中運(yùn)行Vue項(xiàng)目的時(shí)候,有時(shí)候使用npm run serve命令可以啟動(dòng)項(xiàng)目,有時(shí)候卻會(huì)報(bào)錯(cuò);有時(shí)候使用npm run dev命令可以啟動(dòng)項(xiàng)目,有時(shí)候卻也會(huì)報(bào)錯(cuò)。是什么原因造成這種情況呢,原因在于Vue腳手架版本的問題,也可以理解為執(zhí)行配置的腳本問題,有的腳手架版本支持npm run serve命令啟動(dòng)項(xiàng)目,有的腳手架版本卻支持npm run dev命令啟動(dòng)項(xiàng)目。
????????npm run dev ? ? 是vue-cli2.0版本使用的
????????npm run serve? 是vue-cli3.0版本使用的
vue-cli2.0:?
"scripts": {"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js","start": "npm run dev","build": "node build/build.js"
}
?vue-cli3.0:
"scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build","lint": "vue-cli-service lint"}
可以把這個(gè) npm run serve 當(dāng)做是 npm run package.json 里面的scripts的value。
比如,npm run serve 實(shí)際運(yùn)行的是 vue-cli-service serve;而如果你想使用npm run dev 的話,只需把 “serve” 修改為 “dev” 就行。
npm run xxx 中的 xxx 可以理解為鍵值對(duì)的 key,實(shí)際上 run 的是在 package.json 里面 scripts 配置的 value;
比如,npm run serve 實(shí)際運(yùn)行的是 vue-cli-service serve;
而放在 3.0 以前運(yùn)行的則是 node build/dev-server.js 文件;
小結(jié)
????????npm run xxx,并不是你想運(yùn)行就運(yùn)行的,只有在 package.json腳本中對(duì)scripts 配置了,才可以進(jìn)行 run 的,所以不是所有的項(xiàng)目都能 npm run dev/serve。
????????要了解這些命令做了什么,就要去scripts中看具體執(zhí)行的是什么代碼。這里就像是一些命令的快捷方式,免去每次都要輸入很長(zhǎng)的的命令(比如 serve 那行)一般項(xiàng)目都會(huì)有 build, dev, serve 等,所以起名,最起碼要從名字上基本能看出來(lái)是干什么的。