react-native + jest에서 babel 오류가 발생했습니다. "Support for the experimental syntax 'classProperties' isn't currently enabled"

3748 단어 babelJestreactnative


· react-native + jest에서 갑작스런 오류의 개인 메모

갑자기 npm run test가 다음과 같은 오류를 발생시킵니다.

● Test suite failed to run
SyntaxError: /Users/vitorcamacho/workspace/mbanka-earth/node_modules/react-native/jest/mockComponent.js: Support for the experimental syntax 'classProperties' isn't currently enabled (20:24):

  18 |
  19 |   const Component = class extends SuperClass {
> 20 |     static displayName = 'Component';
     |                        ^
  21 |
  22 |     render() {
  23 |       const name =

Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the 'plugins' section of your Babel config to enable transformation.

또 babel씨도 물건 좋아하네요. 라고 생각하면서, issue를 읽으면,
.babelrc는 deprecated가 되었다. 이제부터는 babel.config.js를 사용하는 것 같습니다.

.babelrc를 삭제하고 나서,,,
// .babelrc
{
  "presets": ["module:metro-react-native-babel-preset"],
  "env": {
    "production": {
      "plugins": ["ignite-ignore-reactotron"]
    }
  }
}

babel.config.js를 작성하여 위의 오류가 해결되었습니다.
// babel.config.js
module.exports =  {
  "presets": ["module:metro-react-native-babel-preset"],
  "env": {
    "production": {
      "plugins": [
        "ignite-ignore-reactotron",
        "@babel/plugin-proposal-class-properties"
      ]
    }
  }
}

이 프런트 엔드의 도구에 휘두르는 느낌이 매우 싫어.
ES6 모두 사용하지 말고, function 구문만으로 좋을 것이다.
js의 진화 너무 빨리.

참고 url
htps : // 기주 b. 코 m/후세보 k/레아 ct-나치ゔぇ/이스에 s/21075
중간 정도의 코멘트.

좋은 웹페이지 즐겨찾기