首页 > 解决方案 > 必须使用 import 加载 Babel 模块中的 ES 模块 NODEJS 错误

问题描述

我是这个 babel 的新手,并且在 nodejs 方面有一些经验。我的 package.json 文件有一个 babel

“@babel/preset-react”:“^7.10.4”,“@nuxtjs/eslint-config”:“^0.0.1”,“babel-cli”:“^6.26.0”,

这些依赖与 babel 相关。从一些无法工作的开发人员那里得到这个项目。在安装依赖项和其他东西之后。当我尝试通过 nuxtjs 运行项目时,出现以下错误:

..................................................... ..................................................... ..................................................... ...................................................

必须使用 import 加载 ES 模块:/home/jaskaran/Downloads/electrictourcompany.com-master/node_modules/@babel/runtime/helpers/esm/objectSpread2.js 不支持 ES 模块的 require()。/home/jaskaran/Downloads/electrictourcompany.com-master/node_modules/@babel/runtime/helpers/esm/objectSpread2.js 的 require() 来自 /home/jaskaran/Downloads/electrictourcompany.com-master/node_modules/vue-server -renderer/build.dev.js 是一个 ES 模块文件,因为它是一个 .js 文件,其最近的父 package.json 包含“type”:“module”,它将该包范围内的所有 .js 文件定义为 ES 模块。而是将 objectSpread2.js 重命名为以 .cjs 结尾,将要求代码更改为使用 import(),或从 /home/jaskaran/Downloads/electrictourcompany.com-master/node_modules/@babel/runtime 中删除 "type": "module" /帮助者/esm/包。

..................................................... ..................................................... ..................................................... ……………………………………………………………………………………………………………………

我已经尝试从通常推荐的 node_module 文件夹中重命名和删除类型模块。现在我迷失了前进

标签: node.jsnode-modulesbabeljs

解决方案


我知道已经一年了,但是您是否尝试过升级或降级 @babel/runtime 的版本?

我使用的是 7.14.6 版本,它没有“类型:模块”,它工作正常在此处输入图像描述

这是节点 v12.11.0 的一个已知问题,已在 v12.11.1 中解决

如果您因为子依赖项而面临此问题,您可以将工作版本添加到 package.json 中的解决方案中。


推荐阅读