acj*_*jay 4 async-await babeljs electron next.js
使用默认配置,Next 指示 Babel 在客户端为我的异步函数使用生成器。这使得调试更具挑战性,这看起来应该如此。如何禁用此行为?
我正在使用一个 Electron 应用程序,所以我真的想要最少的转换来匹配 Chromium 运行时。
这是我当前的"babel"关键内容package.json:
"babel": {
"presets": [
[
"next/babel",
{
"preset-env": {
"targets": {
"chromium": 73,
"node": 11
}
},
"transform-runtime": {
"regenerator": false
}
}
]
]
}
Run Code Online (Sandbox Code Playgroud)
这里的结果是不包含 regenerator,但它在 Webpack 生成的代码中崩溃。如果我取消禁用regenerator,我可以看到资产仍在将async函数转换为生成器,无论如何。
小智 6
我不认为这chromium是每个浏览器列表文档的有效目标。尝试"chrome": "73"作为目标。请注意,给定目标的值应该是字符串类型,而不是数字。
如果有您不想包含的插件,那么exclude密钥应该让您将一个插件列入黑名单,否则会根据您提供的目标环境使用该插件。"exclude": ["@babel/plugin-transform-regenerator"].
提问者的笔记
这解决了我的问题。我通过以下方式达到了预期的结果:
{
"presets": [
[
"next/babel",
{
"preset-env": {
"targets": {
"chrome": "73",
"node": "11"
}
}
}
]
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |