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

NuxtJS引入含cjs/mjs的第三方依赖编译报错该如何解决?

问题原因
  • 配置的.cjs文件匹配规则存在字符错误:你写的test: /\.сjs$/中,前缀的с是西里尔字符,并非标准拉丁字母c,导致规则完全无法匹配到真实的.cjs后缀文件,Webpack找不到对应处理逻辑就会抛出解析失败错误。
  • Nuxt 2默认使用的Webpack 4没有内置对.cjs扩展名的默认处理逻辑,即使规则写对,也需要明确告知Webpack如何识别这类文件。
  • 你没有将.cjs后缀加入Webpack的可解析扩展名列表,也可能导致解析优先级异常,触发加载错误。
解决方案

按照如下步骤修改nuxt.config.js配置即可:

  1. 修正.cjs的匹配规则,同时可以将.mjs和.cjs的处理规则合并,减少冗余配置
  2. 给Webpack的resolve.extensions配置追加.cjs后缀,提升文件解析优先级
  3. 原有transpile数组中的@glazed相关依赖配置保持不变,避免转译遗漏

修正后的extend配置参考:

extend(config) {
  // 其他原有配置保持不变
  config.module.rules.push({
    test: /\.(mjs|cjs)$/,
    include: /node_modules/,
    type: "javascript/auto",
  })
  // 追加cjs后缀到可解析列表
  config.resolve.extensions.push('.cjs')
}

修改配置后重启Nuxt服务即可正常编译。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:06:03