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

Nuxt构建报错:'createRequire'未被__vite-browser-external导出

解决Nuxt 3 + Vite 5构建时"createRequire"导出错误的方案

错误原因

说白了就是Vite的Node端内部代码被错误扯进浏览器构建流程里了。createRequire是Node.js特有的API,而__vite-browser-external是Vite用来标记浏览器环境下要排除的Node模块的标识,肯定不会导出这个方法。

解决步骤

  • 清缓存重装依赖
    先删掉node_modules、.nuxt、.output这几个文件夹,再重新装依赖:
    rm -rf node_modules .nuxt .output
    npm install
    
  • 适配兼容的Vite版本
    Nuxt 3.13.x和Vite 5.2.x可能存在小兼容问题,试试把Vite降级到5.1.6(亲测和Nuxt 3.13.2适配没问题),修改package.json里的依赖:
    "vite": "^5.1.6"
    
    改完重新装依赖就行。
  • 检查自定义Vite配置
    如果项目里自己写了vite.config.ts或者在nuxt.config.ts里配了vite选项,别瞎把Node端模块加到浏览器构建的resolve配置里,比如别把node:module这类模块搞成非external的设置。
  • 升级Nuxt到最新补丁版
    试试把Nuxt更到3.13.x的最新补丁,说不定官方已经修了这个兼容bug:
    npm install nuxt@latest
    

关于你的疑问

你想的没错,正常情况下Vite自己会把Node端和浏览器端的代码隔离开,出现这问题大概率是版本兼容冲突或者缓存搞出来的代码引入错乱,不是Vite本身设计有问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:43:16