You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3升级后Windows环境Vite构建遇Rollup无法解析fsevents错误

解决Vite构建时Rollup无法解析fsevents的问题

核心原因

fsevents是仅适配macOS的文件系统监听依赖,Windows环境下不存在该包。Vue 3升级后,某个依赖(多为文件监听或构建类工具库)在打包流程中错误触发了对它的引入,导致Rollup解析失败。

可行解决方案

方案1:用rollup-plugin-ignore忽略fsevents引入

之前的external配置可能存在匹配问题,配合rollup-plugin-ignore可直接跳过该模块的解析:

  1. 安装依赖:
npm install rollup-plugin-ignore --save-dev
  1. 修改vite.config.js:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ignore from 'rollup-plugin-ignore'

export default defineConfig({
  plugins: [
    vue(),
    ignore(['fsevents'])
  ],
  build: {
    rollupOptions: {
      external: ['fsevents'],
      output: {
        globals: {
          fsevents: 'fsevents'
        }
      }
    }
  }
})

方案2:排查并修复依赖的条件引入

部分依赖会通过process.platform做跨平台条件引入,Windows下本应跳过fsevents,可按以下步骤处理:

  • 执行npm ls fsevents查看依赖链,定位触发引入的具体包
  • 尝试升级该包至最新版本;若无效,在package.json中添加resolutions强制屏蔽fsevents:
{
  "resolutions": {
    "fsevents": "false"
  }
}

执行npm install重新安装依赖即可。

方案3:调整Vite构建配置避免冗余polyfill

不要使用rollup-plugin-polyfill-node(会引入大量不必要的Node.js polyfill引发冲突),针对性修改构建目标:

export default defineConfig({
  build: {
    target: 'es2020',
    polyfillModulePreload: false,
    rollupOptions: {
      external: ['fsevents']
    }
  }
})

验证步骤

  1. 删除node_modules和package-lock.json(或yarn.lock)
  2. 重新执行npm install
  3. 运行vite build测试是否解决问题

内容的提问来源于stack exchange,提问作者SuperDJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:42:38