三十八、生产部署

112 阅读2分钟

一、开发环境 vs. 生产环境

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

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

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

二、不使用构建工具

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

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

更多细节请参考构建文件指南

三、使用构建工具

通过 create-vue(基于 Vite)或是 Vue CLI(基于 webpack)搭建的项目都已经预先做好了针对生产环境的配置。

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

1、vue 被解析为 vue.runtime.esm-bundler.js

2、编译时功能标记已被正确配置。

3、process.env.NODE_ENV 会在构建时被替换为 "production"

其他参考:

  • Vite 生产环境指南
  • Vite 部署指南
  • Vue CLI 部署指南

四、追踪运行时错误

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

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

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

(完)