在我的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
中有什么有效的区别吗?
1条答案
按热度按时间ahy6op9u1#
您可以通过
.babelrc
或webpack中的babel-loader
配置来配置babel。它们的工作原理完全相同。然而,我建议只使用
.babelrc
来配置babel,这样当你运行测试时它也能工作,因为你的测试通常不通过webpack,因此没有babel的webpack配置。