vue让你理解npm run dev 和 npm run serve
npm run dev 是vue-cli2.0版本使用的
npm run serve 是vue-cli3.0版本使用的
dev build serve?
在我们运行一些 vue 项目的时候,输入npm run serve或者 npm run dev的其中一个时,系统会报错,然后我们就特别好奇,npm run serve 和 npm run dev 到底有什么区别。
其实 npm run dev 或者是 npm run serve 等 npm run xxx 并不是一定要这么写。
npm run XXX是执行配置在 package.json 中的脚本,比如:
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 --open",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
}
可以把这个 npm run serve 当做是 npm run package.json 里面的scripts的value。
比如,npm run serve 实际运行的是 vue-cli-service serve;而如果你想使用npm run dev 的话,只需把 “serve” 修改为 “dev” 就行。
npm run xxx 中的 xxx 可以理解为键值对的 key,实际上 run 的是在 package.json 里面 scripts 配置的 value;
比如,npm run serve 实际运行的是 vue-cli-service serve;
而放在 3.0 以前运行的则是 node build/dev-server.js 文件;
总结:
npm run xxx,并不是你想运行就运行的,只有在 package.json scripts 配置了,你才能 run 的,所以不是所有的项目都能 npm run dev/build。
要了解这些命令做了什么,就要去scripts中看具体执行的是什么代码。
这里就像是一些命令的快捷方式,免去每次都要输入很长的的命令(比如 serve 那行)
一般项目都会有 build, dev, unit 等,所以起名,最起码要从名字上基本能看出来是干什么的。