vue实现热部署
Vue 实现热部署的方法
热部署(Hot Module Replacement, HMR)允许在开发过程中实时更新代码而不刷新页面,提升开发效率。Vue CLI 和 Vite 默认集成了 HMR 功能。
使用 Vue CLI 启用 HMR
Vue CLI 创建的项目默认已配置 HMR,无需额外操作。若需手动配置,可在 vue.config.js 中调整:
module.exports = {
devServer: {
hot: true,
},
};
开发时运行 npm run serve 或 yarn serve 会自动启用 HMR。

使用 Vite 启用 HMR
Vite 内置 HMR 支持,创建 Vue 项目时选择 Vite 模板即可:
npm create vite@latest my-vue-app --template vue
启动开发服务器后,HMR 自动生效:

npm run dev
自定义 HMR 行为
若需对特定模块自定义 HMR 逻辑,可通过 module.hot API 实现:
if (module.hot) {
module.hot.accept('./path/to/module', () => {
// 模块更新时的回调逻辑
});
}
生产环境热部署
生产环境通常需结合 CI/CD 工具实现自动化部署。例如通过 Docker 或 Kubernetes 滚动更新:
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 8080
CMD ["npm", "run", "serve"]
注意事项
- HMR 仅适用于开发环境,生产环境需通过部署流程更新。
- 确保依赖版本兼容,避免因版本冲突导致 HMR 失效。
- 复杂状态管理(如 Vuex)可能需要手动处理模块更新后的状态同步。






