Vue3 打包

打包(构建)是把源码转换为可直接部署的静态文件的过程:.vue 单文件组件、TypeScript、ES 模块等浏览器无法直接识别的代码,会被编译、合并并压缩成少量 HTML/CSS/JS。

为什么要打包

  • 浏览器不认识 .vue 单文件与 <script setup> 写法,需要先编译成普通 JavaScript。
  • 散落的模块要按依赖关系合并,避免多次网络请求。
  • 压缩体积、为文件名添加内容哈希,便于浏览器缓存更新。

打包命令

Vue3 官方项目使用 Vite 构建,在项目根目录执行:

npm run build

该命令等价于 vite build,Vite 会完成转译与压缩,输出类似:

vite v5.0.0 building for production...
✓ 42 modules transformed.
dist/index.html                   0.42 kB
dist/assets/index-B7xUf0.js    120.00 kB │ gzip: 36.00 kB

产物目录 dist

打包完成后,项目根目录出现 dist 文件夹,结构大致如下:

dist/
├── index.html        # 入口页面
└── assets/           # 打包后的静态资源
    ├── index-*.js
    └── index-*.css

将 dist 整个目录上传到任意静态服务器(Nginx、GitHub Pages、Vercel 等)即可上线。

预览打包结果

上线前先在本地验证生产构建是否正常:

npm run preview

浏览器访问提示地址(默认 http://localhost:4173/),确认页面与资源加载无误后再部署。

自定义打包配置

打包参数写在 vite.config.js 中:

// vite.config.js
export default defineConfig({
  base: '/my-app/',    // 部署在子路径时设置资源前缀
  build: {
    outDir: 'dist',     // 输出目录名
    sourcemap: false    // 生产环境关闭 sourcemap
  }
})

小结

Vue3 项目一条 npm run build 即可产出 dist 静态站点,配合 npm run preview 本地验收,之后把 dist 上传到任意静态服务器即完成部署。

笔记加载中…