MobX에선 decorator를 사용해서 문법을 편하게 작성할 수 있다.

그런데 decorator를 사용하려면 babel 설정을 위해 eject를 해야하는데

아직 configuration을 직접 유지보수할 단계가 아니라 eject를 안하고 decorator를 사용해보려고 한다.

1.customize-cra, react-app-rewired 설치

yarn add react-app-rewired --dev
yarn add customize-cra --dev

2. package-json의 script 수정

 "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject"
 }

3. decorators plugin 설치

yarn add --dev @babel/plugin-proposal-decorators

4. config-overrides.js 파일 생성 후 customize

const {
    addDecoratorsLegacy,
    disableEsLint,
    override
} = require("customize-cra");

module.exports = {
    webpack: override(
        disableEsLint(),
        addDecoratorsLegacy()
    )
};

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다