npm i --save-dev @babel/plugin-transform-runtime
{
"plugins": ["@babel/plugin-transform-runtime"]
}
更多信息: https://babeljs.io/docs/en/babel-plugin-transform-runtime
简而言之;
谢谢!当我在使用async/await的组件中添加导入语句import regeneratorRuntime from "regenerator-runtime";
后,它可以正常工作。
import
后,这对我没有用。还需要做什么额外的工作吗? - Avinash Dalviimport "regenerator-runtime"
导入默认导出。 - Chris - Jr只需添加
"browserslist": [
"last 2 Chrome versions"
]
package.json
文件末尾,也要注意它是复数browsers而不是单数browser!你的文件最后可能看起来像这样 -> },
"dependencies": {
"prop-types": "^15.8.0",
"react": "^17.0.1",
"react-dom": "^17.0.1"
},
"browserslist": [
"last 2 Chrome versions"
]
}
请忽略以上代码视图中的依赖项部分,这只是为了参考您的 package.json 可能看起来如何。
2022
如果您使用的是Babel 7或更高版本,则无需安装额外的插件(包括@babel/plugin-transform-runtime
、@babel/plugin-transform-regenerator
或其他插件)。
稍后,每次使用async/await
语法时,您都需要包含以下语句:
import regeneratorRuntime from "regenerator-runtime";
如果您在项目中设置了一个linter,则它会警告您该语句被声明,但其值从未被读取,但我认为这只是一个错误,因为如果您删除它,代码将无法正常工作。
遇到了这个问题 (使用 Babel v7),即使按照建议安装相关的包,我仍然无法获取这个错误的id。查看了以下 stack overflow 的帖子...
下面是一些有用的操作:
"moduleNameMapper": {
".+\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$": "identity-obj-proxy" }
--setupFilesAfterEnv "./src/setupTests.js"
因此,要运行测试,它将是:
$ jest /pathToTest/TestFile.test.js --setupFilesAfterEnv "./src/setupTests.js"
希望它能像对我有用一样帮助其他人...