![](/img/trans.png)
[英]Uncaught ReferenceError: regeneratorRuntime is not defined
[英]Uncaught ReferenceError: regeneratorRuntime is not defined in React
npm i --save-dev @babel/plugin-transform-runtime
{
"plugins": ["@babel/plugin-transform-runtime"]
}
更多信息: https://babeljs.io/docs/en/babel-plugin-transform-runtime
TLDR;
謝謝 當我添加一個導入語句時它起作用了—— import regeneratorRuntime from "regenerator-runtime";
在我使用異步/等待的組件中。
遇到了這個問題(使用 Babel v7),即使按照建議安裝了相關軟件包,我仍然無法獲得這個錯誤的 id。 檢查了以下堆棧溢出帖子...
以下行動有所幫助:
“模塊名稱映射器”:{
".+\.(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"
希望它可以幫助像它幫助我的人...
如果您確實需要使用異步 function,那么上述解決方案應該可以工作。 解決此問題的另一種方法是使用常規承諾,至少在我的情況下是這樣。
只需添加
"browserslist": [
"last 2 Chrome versions"
]
在您的項目package.json
文件的末尾,還看到它的復數瀏覽器不是瀏覽器!
你的文件最終可能看起來像這樣 ->
},
"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,它會警告您該語句已聲明但它的值從未被讀取,但我認為這只是一個錯誤,因為如果您刪除它,代碼將不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.