要避免导入"regenerator-runtime/runtime",可以通过以下两种方法解决。
使用"babel-plugin-transform-runtime"插件: 在项目中安装"babel-plugin-transform-runtime"插件,并在.babelrc(或babel.config.js)配置文件中进行如下配置:
{
"presets": ["@babel/preset-env"],
"plugins": [
["@babel/plugin-transform-runtime", {
"corejs": 3
}]
]
}
这将会将所有的generator函数和async/await的代码转换成使用"regenerator-runtime"来实现,而不是直接导入"regenerator-runtime/runtime"。
在webpack中配置"babel-loader": 在webpack配置文件中的module.rules中添加以下配置:
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: [
['@babel/plugin-transform-runtime', {
corejs: 3
}]
]
}
}
}
]
}
这将会将所有的js文件通过babel-loader进行转换,并使用"babel-plugin-transform-runtime"插件来处理generator函数和async/await的代码。
以上两种方法都会将generator函数和async/await的代码转换成使用"regenerator-runtime"来实现,而不需要直接导入"regenerator-runtime/runtime"。