当前位置: 首页 > news >正文

一分钟理解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: 

"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"}

可以把这个 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 等,所以起名,最起码要从名字上基本能看出来是干什么的。

相关文章:

  • 时序分解 | Matlab实现EEMD集合经验模态分解时间序列信号分解
  • 整理的一些Java细节问题
  • 轻量封装WebGPU渲染系统示例<14>- 多线程模型载入(源码)
  • linux环境下编译,安卓平台使用的luajit库
  • 七、W5100S/W5500+RP2040树莓派Pico<UDP 组播>
  • VSCode中的任务什么情况下需要配置多个问题匹配器problemMatcher?多个问题匹配器之间的关系是什么?
  • rust入门基础案例:猜数字游戏
  • Qt for Android代码中输出日志
  • Kubernetes群集调度
  • 基于ASP.NET MVC + Bootstrap的仓库管理系统
  • Ubuntu20.04下安装Redis环境
  • ElasticSearch集群架构实战及其原理剖析
  • 前端埋点方式
  • C++中浅复制及其存在的问题
  • Python 代码格式化工具YAPF 0.17.0问世
  • Angular 4.x 动态创建组件
  • AngularJS指令开发(1)——参数详解
  • CentOS7 安装JDK
  • java8 Stream Pipelines 浅析
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Spring Boot MyBatis配置多种数据库
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 老板让我十分钟上手nx-admin
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 使用Swoole加速Laravel(正式环境中)
  • 微信小程序设置上一页数据
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 正则表达式小结
  • HanLP分词命名实体提取详解
  • Python 之网络式编程
  • ​Spring Boot 分片上传文件
  • #pragma预处理命令
  • #Z0458. 树的中心2
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (10)STL算法之搜索(二) 二分查找
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (接口封装)
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (学习日记)2024.01.09
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)80c52学习之旅-起始篇
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net mvc部分视图
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET 依赖注入和配置系统
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .py文件应该怎样打开?