在我的react项目中,webpack.config.js引入了proposal类的属性,比如:
...
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
query: {
presets: ['@babel/react', '@babel/preset-env'],
plugins: ['@babel/proposal-class-properties']
}
},
}
...通过包含@babel/proposal-class-properties,我可以从React组件中删除构造器,等等。
但是,documentation在.babelrc中显示了plugin-proposal-class-properties,如下所示(根本没有提到webpack.config.js ):
{
"plugins": ["@babel/plugin-proposal-class-properties"]
}而我的.babelrc根本不包含任何插件:
{
"presets": [
["@babel/env", {
"modules": false
},
"@babel/preset-env"]
]
}将插件(如proposal-class-properties)包含在webpack.config.js中与将它们放入.babelrc中有什么有效的区别吗
发布于 2019-06-06 01:43:40
您可以通过.babelrc或通过webpack中的babel-loader配置来配置巴别塔。它们的工作原理完全相同。
但是,我建议只使用.babelrc来配置babel。这样一来,当您运行测试时,它也可以工作,测试通常不会经过webpack,因此也不会有针对巴别塔的webpack配置。
.babelrc:
{
"presets": ["@babel/preset-env"]
"plugins": ['@babel/plugin-proposal-class-properties', {'loose': true}]
}https://stackoverflow.com/questions/56463846
复制相似问题