必须使用 import 来加载 Babel 模块中的 ES 模块 NODEJS 错误
Posted
技术标签:
【中文标题】必须使用 import 来加载 Babel 模块中的 ES 模块 NODEJS 错误【英文标题】:Must use import to load ES Module NODEJS Error in Babel Module 【发布时间】:2020-11-10 10:59:18 【问题描述】:我是这个 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" /helpers/esm/package.json.
.................................................. ..................................................... ..................................................... .........................
我已经尝试从通常推荐的 node_module 文件夹中重命名和删除类型模块。现在我迷失了前进的方向
【问题讨论】:
【参考方案1】:我知道已经一年了,但您是否尝试升级或降级 @babel/runtime 的版本?
我使用的是 7.14.6 版本,它没有“类型:模块”,它工作正常
这是节点 v12.11.0 的一个已知问题,已在 v12.11.1 中解决
如果您因为子依赖项而面临此问题,您可以将工作版本添加到您的 package.json 中的解决方案中。
【讨论】:
我确实解决了这个问题,但不记得是怎么解决的以上是关于必须使用 import 来加载 Babel 模块中的 ES 模块 NODEJS 错误的主要内容,如果未能解决你的问题,请参考以下文章
babel-plugin-import配置babel按需引入antd模块,编译后报错.bezierEasingMixin()
ES6中export , export default , import模块系统总结