一分钟理解npm run dev 和 npm run serve

前端开发过程中运行Vue项目的时候,有时候使用npm run serve命令可以启动项目,有时候却会报错;有时候使用npm run dev命令可以启动项目,有时候却也会报错。是什么原因造成这种情况呢,原因在于Vue脚手架版本的问题,也可以理解为执行配置的脚本问题,有的脚手架版本支持npm run serve命令启动项目,有的脚手架版本却支持npm run dev命令启动项目。
npm run dev 是vue-cli2.0版本使用的
npm run serve 是vue-cli3.0版本使用的

vue-cli2.0:

javascript 复制代码
"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:

javascript 复制代码
  "scripts": {
    "serve": "vue-cli-service serve",
    "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/serve。

要了解这些命令做了什么,就要去scripts中看具体执行的是什么代码。这里就像是一些命令的快捷方式,免去每次都要输入很长的的命令(比如 serve 那行)一般项目都会有 build, dev, serve 等,所以起名,最起码要从名字上基本能看出来是干什么的。

相关推荐
米米商聊11 小时前
同名附件为什么被 Map 覆盖?重复键与一对多索引
前端·javascript
echome88812 小时前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
时间的情敌12 小时前
OpenLayers 实战|Vue3 + OpenLayers 完整工程案例(加载天地图、要素、弹窗、绘制、WFS)
前端·openlayers
陈随易12 小时前
下载神器!Motrix 停更三年后重写回归
前端·后端·程序员
Moshow郑锴13 小时前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible
前端的日常13 小时前
一个人+AI做情侣食谱小程序,0 费用的服务器
前端·后端
计算机魔术师13 小时前
谷歌搜索广告踩刹车,AI广告成为救命稻草
前端
总要学点什么13 小时前
第81篇:数据可视化-PM2.5分布——让圆点的胖瘦替每座城市报出浓度
前端·信息可视化·echarts·cesium·空间分析
IT_陈寒13 小时前
Vue的v-for里用了个临时变量,页面直接挂了
前端·人工智能·后端
hunter_07613 小时前
一次 iOS 真机签名 409 的完整排查:证书、设备、描述文件为什么总是"对不上"
前端