gpt4 book ai didi

babeljs - babel@7 和 jest 配置

转载 作者:行者123 更新时间:2023-12-02 22:05:28 28 4
gpt4 key购买 nike

也许你可以帮助我?我尝试将 jest 配置为使用 babel@7所以我有:

"jest": "^23.4.1",
"@babel/core": "^7.0.0-beta.54",
"babel-7-jest": "^21.3.3",
"babel-jest": "^20.0.3",

以及 package.json 中的 Jest 配置

"jest": {
"transform": {
"^.+\\.js$": "babel-7-jest",
},

得到了

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string

但是如果我使用

"jest": {
"transform": {
"^.+\\.js$": "babel-jest",
},

我得到了

Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.

babel 配置:https://gist.github.com/SilentImp/1506e9c26d16d9839a4469c6f3ae5c4d

也许你有一些想法?

最佳答案

我相信我已经找到了一个可行的解决方案(不感谢 Jest 团队提供了损坏的文档并回避了有关此问题的 GitHub 问题)。

您需要在 package.jsondevDependencies 部分中添加以下内容:

  "devDependencies": {
"@babel/core": "^7.0.0-beta.54",
"@babel/preset-env": "^7.0.0-beta.54",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^23.4.0",
"bili": "^3.1.2",
"jest": "^23.4.1",
"regenerator-runtime": "^0.12.0"
}

.babelrc 中的以下内容:

{
"presets": [
[
"@babel/preset-env",
{
"debug": false,
"targets": {
"browsers": [
"last 3 versions"
]
}
}
]
]
}

在我的特定项目中,我不需要使用 Jest 配置,因此我删除了空的 jest.config.js 文件。

要点:

  • 删除 babel-7-jest,因为它已被弃用,因为现在有 official support for it .
  • 确保以后只使用 @babel/xyz 软件包 - 我安装的 babel-core 桥接器是使用最新 Babel 7 的“官方”方式.我想随着一切都迁移到 Babel 7,这种需求将在未来的某个时候被消除。
  • 您现在可以使用 ES6+ 功能,包括导入/导出,而不再需要过时的require()

编辑:

如果您想获得更详细的通过/失败测试日志,请将其放入您的 jest.config.js 中:

module.exports = {
"verbose": true
}

关于babeljs - babel@7 和 jest 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51455882/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com