Javascript 装饰器和类属性不起作用的Babel配置

Javascript 装饰器和类属性不起作用的Babel配置,javascript,reactjs,babeljs,Javascript,Reactjs,Babeljs,我有一个简单的类,需要使用Jest进行测试。 我正在使用的项目的babel配置- 巴别塔版本-7 { "plugins": [ "@babel/plugin-transform-react-jsx", "@babel/plugin-proposal-function-bind", "@babel/plugin-transform-modules-commonjs", "@babel/plugin-syntax-dynamic-import", "@ba

我有一个简单的类,需要使用Jest进行测试。 我正在使用的项目的babel配置-

巴别塔版本-7

{
  "plugins": [
    "@babel/plugin-transform-react-jsx",
    "@babel/plugin-proposal-function-bind",
    "@babel/plugin-transform-modules-commonjs",
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-proposal-object-rest-spread",
    "@babel/plugin-transform-classes",
    [
      "@babel/plugin-proposal-class-properties",
      {
        "loose": true
      }
    ],
    [
      "@babel/plugin-proposal-decorators",
      {
        "legacy": true
      }
    ],
    [
      "@babel/plugin-transform-runtime",
      {
        "regenerator": true
      }
    ]
  ],
  "presets": ["@babel/preset-env", "@babel/react"]
}


我得到一个错误-

  SyntaxError: Missing class properties transform.
  5 | 
       6 | export default class Template {
    >  7 |   id;


所以,我发现了问题所在 @babel/plugin提案装饰程序应位于@babel/plugin提案类属性之前

{
  "presets": ["@babel/preset-env"],
  "plugins": [
    ["@babel/plugin-transform-react-jsx"],
    "@babel/plugin-transform-modules-commonjs",
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-proposal-object-rest-spread",
    "@babel/plugin-proposal-function-bind",
    [
      "@babel/plugin-proposal-decorators",
      {
        "legacy": true
      }
    ],
    "@babel/plugin-proposal-class-properties"
  ]
}