Vue 项目中运行 `npm run dev` 时发生的过程

步骤1:找到「任务说明书」(package.json)

当你输入 npm run dev,系统首先会去查项目的 「任务说明书」 (即 package.json 文件),看看 dev 这个任务具体要做什么。

示例代码(package.json 片段):
json 复制代码
{
  "scripts": {
    "dev": "vue-cli-service serve"
  }
}

解释 :

这里的 "dev": "vue-cli-service serve" 就像说明书上写着:"当执行 dev 任务时,请启动 Vue 的开发服务器"。


步骤2:启动「代码加工厂」(开发服务器)

系统会运行 vue-cli-service serve,启动一个本地开发服务器。这个服务器相当于一个「实时加工厂」,负责两件事:

  1. 编译代码 :把你的 Vue 代码(如 .vue 文件)加工成浏览器能看懂的 HTML/CSS/JS。
  2. 实时监听:当你修改代码时,自动重新加工并刷新页面。
比喻:

就像你写作业(写代码),旁边有一个「智能助手」(开发服务器),你一写完他就帮你检查错误、翻译成老师能看懂的语言(浏览器能运行的代码),并且你一改作业,他立刻更新。


步骤3:「加工厂」流水线操作

开发服务器内部会按顺序做以下事情:

  1. 读取配置 :检查 vue.config.js(如果有),确认加工规则(比如用什么工具编译 CSS)。
  2. 处理依赖 :把 import 的组件、第三方库(如 vue-router)全部打包到一起。
  3. 编译代码 :
    • 将 .vue 文件拆解成 HTML/JS/CSS。
    • 用 Babel 把 ES6+ 代码转成旧版浏览器能运行的 JS。
    • 处理 Sass/Less 等 CSS 预处理器。
  4. 启动服务器 :默认在 http://localhost:8080 运行,自动打开浏览器。
示例终端输出:
bash 复制代码
 DONE  Compiled successfully in 2156ms

  App running at:
  - Local:   http://localhost:8080/
  - Network: http://192.168.1.5:8080/

步骤4:开启「热更新」模式

当你修改代码并保存时,开发服务器会:

  1. 局部更新:只重新编译修改的文件(而不是整个项目)。
  2. 无刷新替换:通过「热模块替换(HMR)」,在不刷新页面的情况下,替换修改的代码部分。
比喻:

就像修车时,只更换坏掉的零件(修改的代码),而不是把整辆车拆了重装。


完整示例流程

1. 项目结构:
复制代码
my-vue-project/
  ├── src/
  │   ├── App.vue
  │   └── main.js
  ├── package.json
  └── vue.config.js
2. 运行命令:
bash 复制代码
cd my-vue-project
npm install   # 先安装依赖(如果还没装)
npm run dev  # 启动开发服务器
3. 结果:
  • 浏览器自动打开 http://localhost:8080,显示你的 Vue 应用。
  • 修改 App.vue 中的文字并保存 → 页面自动更新,无需手动刷新。

常见问题处理

问题1:端口被占用?

解决方法:修改启动端口

json 复制代码
// package.json
"scripts": {
  "dev": "vue-cli-service serve --port 3000"
}
问题2:编译报错?

示例:如果你在代码中写了语法错误(比如漏了逗号):

bash 复制代码
ERROR  Failed to compile with 1 error

Module Error: Missing comma in object literal.

解决方法:根据提示修正代码,保存后会自动重新编译。


总结

  • npm run dev = 启动「代码加工厂」+ 实时监控修改。
  • 核心功能:编译代码、本地服务器、热更新。
  • 开发体验:写代码 → 保存 → 立即看效果,高效无痛! 🚀
相关推荐
gc_22992 小时前
Vue框架学习(1:环境搭建)
vue.js
原则猫2 小时前
UDP 到底怎么实现可靠的
前端
Java后端的Ai之路2 小时前
14、ReactJS - 路由(Router)
前端·react.js·状态模式
裕晟资质规划4 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
ShineWinsu4 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
月夏4 小时前
Vue3 转 React:18 项对照表 + 5 个必踩的坑(附 7 天上手路线)
前端
广州华水科技4 小时前
单北斗GNSS位移监测系统的应用与维护解析
前端
梦曦i5 小时前
uni-storage 0.1.0 发布:TTL过期管理+多实例隔离
前端·storage·uni-app x
猫头_6 小时前
AI 流式传输工程指南:模型吐出半截 JSON,前端如何边收边渲染?
前端·javascript·llm
console.log('npc')6 小时前
第 1 章 项目概述与环境搭建
前端·人工智能·大模型