我应该通过.babelrc或WebPack配置Babel吗?

csga3l58  于 2022-12-16  发布在  Babel
关注(0)|答案(1)|浏览(244)

在我的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中有什么有效的区别吗?

ahy6op9u

ahy6op9u1#

您可以通过.babelrc或webpack中的babel-loader配置来配置babel。它们的工作原理完全相同。
然而,我建议只使用.babelrc来配置babel,这样当你运行测试时它也能工作,因为你的测试通常不通过webpack,因此没有babel的webpack配置。

  • .巴伯尔中心:*
{
  "presets": ["@babel/preset-env"]
  "plugins": ['@babel/plugin-proposal-class-properties', {'loose': true}]
}

相关问题