我试图用babel配置webpack (5),使用babel-加载程序将其传输到ES5。不幸的是,输出不一致。基本上,它分为两部分:


如您所见,第一部分包含箭头函数,第二部分不包含箭头函数。我尝试将@babel/plugin-proposal-class-properties和@babel/plugin-transform-arrow-functions添加到@babel/plugin-transform-arrow-functions文件中,但是class-properties缺失(启用调试)。
我必须承认,我不确定class-properties是否是问题所在,但在谷歌上花了几个小时之后,这是我最好的机会,所以也许我对问题的根源是错的。
webpack档案:
export default {
entry: './src/index.js',
mode: 'production',
output: {
path: path.resolve(__dirname, '..', '..', 'dist'),
filename: 'bundle.prod.js'
},
module: {
rules: [
{
test: /\.m?js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
]
}
}.babelrc文件:
{
"presets": [
[
"@babel/preset-env",
{
"corejs": {
"version": 3
},
"useBuiltIns": "usage",
"debug": true
}
]
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-transform-arrow-functions"
]
}节点依赖关系:
"@babel/core": "7.11.6",
"@babel/plugin-proposal-class-properties": "7.10.4",
"@babel/plugin-transform-arrow-functions": "7.10.4",
"@babel/preset-env": "7.11.5",
"@babel/register": "7.11.5",
"babel-loader": "8.1.0",
"core-js": "3.6.5",
"webpack": "5.0.0",
"webpack-cli": "4.0.0",
"webpack-merge": "5.2.0"发布于 2020-10-16 19:23:10
发布于 2021-09-02 09:01:45
要让babel-preset-env和webpack 5在一起玩得很好,您需要遵循以下文档:
https://webpack.js.org/migrate/5/#need-to-support-an-older-browser-like-ie-11
您最好将target设置为browserslist或删除目标,让webpack自动为您设置浏览器列表。
browserslist由babel-preset-env使用,参见相关的文档,在这里:https://babeljs.io/docs/en/babel-preset-env#browserslist-integration
https://stackoverflow.com/questions/64339314
复制相似问题