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

升级Nuxt 3.4.2与@types/node后,构建因fsevents.node报错

Nuxt 3.4.2 + @types/node 18.15.13 启动报错:No loader is configured for ".node" files

升级Nuxt至3.4.2、@types/node至18.15.13后,执行npm run dev命令时出现构建错误,提示「No loader is configured for ".node" files: node_modules/fsevents/fsevents.node」,错误日志如下:

✘ [ERROR] No loader is configured for ".node" files: node_modules/fsevents/fsevents.node

    node_modules/fsevents/fsevents.js:13:23:
      13 │ const Native = require("./fsevents.node");
         ╵                        ~~~~~~~~~~~~~~~~~


 ERROR  [unhandledRejection] Build failed with 1 error:                                                                                                     9:03:37 AM
node_modules/fsevents/fsevents.js:13:23: ERROR: No loader is configured for ".node" files: node_modules/fsevents/fsevents.node

  node_modules/fsevents/fsevents.js:13:23: ERROR: No loader is configured for ".node" files: node_modules/fsevents/fsevents.node
  at failureErrorWithLog (node_modules/esbuild/lib/main.js:1636:15)
  at node_modules/esbuild/lib/main.js:1048:25
  at node_modules/esbuild/lib/main.js:1512:9
  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

项目的package.json内容如下:

{
  "private": true,
  "scripts": {
    "build": "nuxt build",
    "dev2": "nuxt dev",
    "dev": "NODE_TLS_REJECT_UNAUTHORIZED=0 nuxt dev --https --ssl-cert localhost.pem --ssl-key localhost-key.pem",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare"
  },
  "devDependencies": {
    "@fortawesome/fontawesome-free": "^6.2.1",
    "@types/node": "^18.15.11",
    "nuxt": "^3.4.0",
    "sass": "^1.57.1",
    "vue-gtag-next": "^1.14.0",
    "vue-sound": "^0.1.10"
  },
  "dependencies": {
    "@mdi/font": "^7.1.96",
    "@storyblok/nuxt": "^5.3.4",
    "@vueuse/core": "^9.11.1",
    "gsap": "^3.11.5",
    "vuetify": "^3.1.14"
  }
}

已尝试清理缓存、删除node_modules后重新安装,但问题仍未解决。


解决方案

方法1:配置esbuild处理.node文件

在nuxt.config.ts中添加esbuild的loader配置,指定.node文件的处理方式:

export default defineNuxtConfig({
  vite: {
    esbuild: {
      loader: {
        '.node': 'file'
      }
    }
  }
})

方法2:排除fsevents参与打包

fsevents是macOS专属的文件监听依赖,其他系统下不会实际生效。可以将其加入外部依赖列表,避免被esbuild打包处理:

export default defineNuxtConfig({
  build: {
    external: ['fsevents']
  }
})

方法3:降级依赖版本

如果上述配置无效,可临时降级到兼容版本:

npm install nuxt@3.4.0 @types/node@18.15.11 --save-dev

方法4:移除fsevents(非macOS环境)

若开发环境是Windows或Linux,可直接卸载fsevents(macOS环境请勿操作):

npm uninstall fsevents

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:22:50