Vue 项目开发环境与辅助工具部署

AAI脑图#3481432025-12-07 05:31
13010

内容详情

Node.js 基础

概念速览

  • 定义
    • JavaScript 运行时
      • 基于 Chrome V8 引擎
        • 脱离浏览器即可执行 JS
          • 统一前后端语言栈
  • 核心能力
    • 事件驱动
    • 非阻塞 I/O
    • 单线程 + 工作线程池
      • 高并发场景优势
        • 适合 I/O 密集型而非 CPU 密集型

部署流程

  • 版本选择
    • LTS(长期支持版)
    • Current(最新特性版)
      • 推荐生产环境使用 LTS
        • 稳定性 + 社区维护周期长
  • 安装方式
    • 官方安装包(Windows/macOS)
    • 包管理器(Homebrew、Chocolatey)
    • 版本管理器(nvm、fnm)
      • 多版本共存切换
        • 避免全局冲突
  • 验证安装
    • node -v
    • npm -v
      • 输出版本号即成功
        • 若失败检查环境变量 PATH

模块系统

  • CommonJS 规范
    • require() 导入
    • module.exports 导出
      • 同步加载适合服务端
        • 缓存机制提升性能
  • ES Module 支持
    • type: "module"
    • import/export 语法
      • 官方实验特性 → 正式稳定
        • 与前端构建工具无缝衔接
  • 核心模块
    • fs、path、http、events…
      • 无需安装直接引用
        • 提供底层系统能力

创建首个应用

  • 步骤 1:初始化项目
    • npm init -y
      • 生成 package.json
        • 记录依赖与脚本
  • 步骤 2:编写入口文件
    • app.js
      • 示例:启动 HTTP 服务
        • 监听 3000 端口返回 Hello Vue
  • 步骤 3:运行
    • node app.js
      • 访问 http://localhost:3000
        • 验证环境正常

npm 包管理器

  • 角色定位
    • 官方默认仓库
    • 全球最大开源库生态
      • 超 200 万包
        • 前端工程化基石
  • 镜像加速
    • 淘宝/腾讯云镜像
    • nrm 一键切换
      • 解决国内下载慢
        • 安装后测速选最优源

npm 进阶

常用命令速查

  • 依赖管理
    • npm install
    • npm i -D
    • npm uninstall
    • npm update
      • –save / –save-dev 已默认
        • 锁定版本用 package-lock.json
  • 脚本执行
    • npm run
    • npm start / test
      • 自定义脚本提升效率
        • 串行 & 并行:npm-run-all
  • 发布包
    • npm login
    • npm publish
    • npm version patch
      • 语义化版本规范
        • 2.1.3 → major.minor.patch

Node.js 环境配置

  • 全局路径
    • npm config set prefix
    • 将全局模块 bin 加入系统 PATH
      • 避免 sudo 安装
        • macOS/Linux 推荐 ~/.npm-global
  • 环境变量
    • NODE_ENV=production
    • 区分开发与生产
      • webpack/Vite 读取优化
        • 压缩、源映射、调试开关
  • .nvmrc
    • 项目级版本锁定
    • nvm use 自动切换
      • 团队协作统一
        • CI/CD 镜像直接复现

webpack 打包体系

定位与演进

  • 模块打包器鼻祖
    • 2012 年发布
    • 解决浏览器不支持模块化
      • 当下仍是企业级首选
        • 生态成熟插件丰富
  • 现代替代品
    • Vite(开发阶段 ESM + esbuild)
    • Turbopack(Rust 重构)
      • webpack 5 引入持久化缓存
        • 缩短冷启动追赶竞品

使用与基本配置

  • 核心概念
    • 入口 entry
    • 输出 output
    • 加载器 loader
    • 插件 plugin
    • 模式 mode
      • 最小可运行配置 10 行
        • 默认支持 JS/JSON
  • 配置方式
    • webpack.config.js
    • 导出对象或函数
      • 环境函数可返回差异化配置
        • 合并策略 webpack-merge

配置加载器

  • 处理 CSS
    • style-loader + css-loader
    • MiniCssExtractPlugin 抽离
      • 生产环境独立文件
        • 并行加载提升渲染
  • 处理 Vue
    • vue-loader
    • @vue/compiler-sfc
      • 单文件组件热重载
        • 搭配 Vue3 <script setup>
  • 处理 TypeScript
    • ts-loader / babel-loader
    • fork-ts-checker-webpack-plugin
      • 类型检查并行
        • 避免编译速度拖累

配置插件

  • 资源优化
    • HtmlWebpackPlugin
    • TerserWebpackPlugin
    • CssMinimizerWebpackPlugin
      • 自动注入哈希
        • 长效缓存策略
  • 分析工具
    • webpack-bundle-analyzer
    • speed-measure-webpack-plugin
      • 可视化体积与耗时
        • 定位冗余依赖

配置开发服务器

  • webpack-dev-server
    • 热模块替换 HMR
    • 代理转发 devServer.proxy
      • 无刷新更新样式/组件
        • 解决本地跨域
  • 进阶方案
    • webpack serve + middleware
    • 结合 Express 自定义路由
      • 模拟后端接口
        • 提升联调效率

Vue CLI 脚手架

安装与升级

  • 全局安装
    • npm i -g @vue/cli
    • 检查 vue –version
      • 要求 Node.js ≥ 12
        • 4.x 对应 Vue3 默认
  • 升级策略
    • npm update -g @vue/cli
    • 项目内升级 vue upgrade
      • 提供交互式差异对比
        • 自动改写配置文件

创建 Vue 项目

  • 命令行模式
    • vue create my-app
    • 预设 Default / Manually
      • 可选 Babel、TS、Router、Vuex、ESLint
        • 保存预设供后续复用
  • 目录结构
    • public/ 静态资源
    • src/ 源码
    • tests/ 单元测试
      • 零配置即可运行
        • 隐藏 webpack 细节

可视化创建

  • Vue UI
    • 终端输入 vue ui
    • 图形化依赖管理
      • 拖拽安装插件
        • 实时查看脚本日志
  • 功能面板
    • 仪表盘:构建速度、包体积
    • 配置:webpack 链式修改
    • 任务:serve/build/lint
      • 新手友好
        • 一键导出性能报告

插件生态

  • 官方插件
    • @vue/cli-plugin-pwa
    • @vue/cli-plugin-e2e-cypress
      • 零代码集成工作箱
        • 自动生成 manifest、service-worker
  • 社区插件
    • vue-cli-plugin-element-plus
    • vue-cli-plugin-vite (实验)
      • 无缝切换构建引擎
        • 渐进迁移降风险

环境模式

  • 默认模式
    • development
    • production
    • test
      • 对应 .env.* 文件
        • 仅 VUE_APP_ 前缀暴露
  • 自定义模式
    • staging
    • electron
      • 通过 –mode 指定
        • 合并基础配置覆盖

构建优化

  • 拆包策略
    • splitChunks
    • runtimeChunk
      • 第三方库长效缓存
        • 避免重复打包
  • 体积分析
    • vue-cli-service build –report
    • 生成 stats.json
      • 配合 webpack-analyzer
        • 精准删除未用依赖