找回密码
 立即注册
首页 业界区 业界 t06_vue在mac操作系统中热更新失效问题包括cli与vite ...

t06_vue在mac操作系统中热更新失效问题包括cli与vite

轮达 2025-6-6 09:49:50
1、问题原因

用vuecli与vite创建的vue项目,默认是没有热部署更新的。而且查阅大量资料后仍然找不到解决方法
这个我认为是mac的m系列芯片的问题
为什么我会这么认为,因为相同的项目,node_moudules我都没有变过,再win系统中与mac系统同时运行,只有win系统是可以正常热部署的,mac就跟死了一样。这个问题真的是令人抓耳挠腮,浪费了我两台时间没想到就加加几行代码。
2、解决方法

2.1 vuecli

修改 [vue.config.js]文件
最主要的是添加如下代码:
  1. configureWebpack: {
  2.   // 根级 watchOptions,作用于所有模块编译
  3.   watchOptions: {
  4.     poll: 1000,            // 轮询间隔 ms
  5.     aggregateTimeout: 300, // 防抖时间 ms
  6.     ignored: /node_modules/
  7.   }
  8. },
复制代码
[vue.config.js]文件完整代码1(根据自己代码选择):
  1. // vue.config.js
  2. module.exports = {
  3.   // (一)Webpack 编译器监视改动
  4.   configureWebpack: {
  5.     // 根级 watchOptions,作用于所有模块编译
  6.     watchOptions: {
  7.       poll: 1000,            // 轮询间隔 ms
  8.       aggregateTimeout: 300, // 防抖时间 ms
  9.       ignored: /node_modules/
  10.     }
  11.   },
  12.   devServer: {
  13.     hot: true,
  14.     // (二)静态资源监视(可选)
  15.     static: {
  16.       watch: true
  17.     },
  18.     // (三)额外路径监视(可选)
  19.     watchFiles: {
  20.       paths: ['src/**/*', 'public/**/*'],
  21.       options: {
  22.         usePolling: false   // 这一项只影响 dev-server 的额外监视,不影响 Webpack 编译
  23.       }
  24.     },
  25.     // 网络 & WS 设置,确保 HMR 客户端能连上
  26.     host: '0.0.0.0',
  27.     allowedHosts: 'all',
  28.     client: {
  29.       webSocketURL: 'ws://0.0.0.0:8080/ws'
  30.     }
  31.   }
  32. }
复制代码
[vue.config.js]文件完整代码2(根据自己代码选择):
  1. const { defineConfig } = require('@vue/cli-service')
  2. module.exports = defineConfig({
  3.   transpileDependencies: true,
  4.   configureWebpack: {
  5.     // 根级 watchOptions,作用于所有模块编译
  6.     watchOptions: {
  7.       poll: 1000,            // 轮询间隔 ms
  8.       aggregateTimeout: 300, // 防抖时间 ms
  9.       ignored: /node_modules/
  10.     }
  11.   },
  12. })
复制代码
2.2 vue-vite

在[vue.config.js]文件中添加如下监听
  1. watch: {
  2.   usePolling: true, // 关键点!
  3. }
复制代码
[vue.config.js]文件完整代码
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. export default defineConfig({
  4.   plugins: [vue()],
  5.   server: {
  6.     host: '0.0.0.0', // 或 'localhost'
  7.     port: 5173,
  8.     watch: {
  9.       usePolling: true, // 关键点!
  10.     }
  11.   }
  12. })
复制代码
如下:
1.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册