加载配置时出错 - 您似乎正在使用本机 ECMAScript 模块配置文件 (Jest)
Posted
技术标签:
【中文标题】加载配置时出错 - 您似乎正在使用本机 ECMAScript 模块配置文件 (Jest)【英文标题】:Error while loading config - You appear to be using a native ECMAScript module configuration file (Jest) 【发布时间】:2020-07-23 13:06:19 【问题描述】:已更新。
当我提出拉取请求时出现此错误。有一个 github 工作流审计,它对拉取请求运行检查,并从另一个存储库加载测试文件。
- name: Run Audits
run: npx jest audits/ch-2 --json --outputFile=audits/ch-2.json --noStackTrace
Test suite failed to run
/Users/frankukachukwu/StudioProjects/covid-19-estimator-tksilicon-js/babel.config.js: Error while loading config - You appear to be using a native ECMAScript module configuration file, which is only supported when running Babel asynchronously.
我该如何解决这个问题?
【问题讨论】:
你没有jest.config.js
吗?
使用 nodejs 更让我惊讶你需要 babel
没有朱利安,请问我该怎么办?
你用import
还是require
?
@Gaz_Edge 已修复。
【参考方案1】:
已解决:适用于遇到此问题的任何人。这与 Babel 设置有关。 babel.config.extension 使用 .mjs、cjs 或 js 扩展名。在我运行 LTE Node 12.6.2 的情况下。我需要在我的目录 babel.config.cjs 的根目录下进行此配置。 cjs 是使用“type”="module" 时适用于 Nodejs 的内容。 See more about it here on babel docs.
module.exports =
presets: [
[
'@babel/preset-env',
targets:
node: 'current'
]
]
;
还有 jest.config.cjs 在根目录。
【讨论】:
将 babel.config.js 重命名为 babel.config.cjs 为我做到了!谢谢。 @pbatey 哇,你怎么解释这个?!无论如何,谢谢哥们为我节省了时间。 @Amesys 我读到 cjs 表示 commonJS,我一直在使用带有 --experimental-modules 的节点,所以我猜测 .js 默认为模块(导入)而不是 commonJS(需要)。 【参考方案2】:除了“cjs”解决方案之外,我还可以通过将babel.config.js
转换为babel.config.json
来解决此问题:
"presets": [
[
"@babel/preset-env",
"targets":
"node": "current"
],
"@babel/preset-typescript"
]
【讨论】:
以上是关于加载配置时出错 - 您似乎正在使用本机 ECMAScript 模块配置文件 (Jest)的主要内容,如果未能解决你的问题,请参考以下文章