生产环境部署 {#production-deployment}

开发环境 vs. 生产环境 {#development-vs-production}

在开发过程中,Vue 提供了许多功能来提升开发体验:

  • 对常见错误和隐患的警告
  • 对 prop / 事件的校验
  • 响应性调试钩子
  • 开发工具集成

然而,这些功能在生产环境中并不能发挥作用。一些警告检查也会产生少量的性能开销。当部署到生产环境中时,我们应该移除所有未使用的、仅用于开发环境的代码分支,来获得更小的包体积和更好的性能。

不使用构建工具 {#without-build-tools}

如果你没有使用任何构建工具,而是从 CDN 或其他源来加载 Vue,请确保在部署时使用的是生产环境版本(以 .prod.js 结尾的发行文件)。生产环境版本会被最小化,并移除了所有仅用于开发环境的代码分支。

  • 如果需要使用全局变量版本(通过 Vue 全局变量访问):请使用 vue.global.prod.js
  • 如果需要 ESM 版本(通过原生 ESM 导入访问):请使用 vue.esm-browser.prod.js

更多细节请参考 发行文件指南

使用构建工具 {#with-build-tools}

通过 create-vue 搭建的项目(基于 Vite)或者 Vue CLI(基于 Vue CLI)都会为生产环境发布作预配置。

如果使用了自定义的构建,请确保:

  1. vue 被解析为 vue.runtime.esm-bundler.js
  2. 编译时功能标记 已被正确配置。
  3. process.env.NODE_ENV 会在构建时被替换为 "production"

其他参考:

追踪运行时错误 {#tracking-runtime-errors}

应用级错误处理 可以用来向追踪服务报告错误:

  1. import { createApp } from 'vue'
  2. const app = createApp(...)
  3. app.config.errorHandler = (err, instance, info) => {
  4. // 向追踪服务报告错误
  5. }

诸如 SentryBugsnag 等服务也为 Vue 提供了官方集成。