일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 해쉬맵
- SpringBoot
- 오류잡기
- groomide
- 프로그래머스
- Decorator
- mobx
- 월간코드챌린지시즌1
- 동네도서관이용후기
- 코딩문제풀이
- goormIDE
- LinkedList
- 경력기술
- level1
- HashMap
- java
- @action
- @observable
- 전자도서관
- 1일1커밋
- 수포자
- 무료로책보기
- restapi
- 강서구도서관
- 로봇 관련 윤리문제
- 사이드프로젝트
- MES
- 코딩문제
- 특정값 개수
- 도서관대출
- Today
- Total
Maenya's Techlog
[20201230 groomIDE] React 프로젝트에 MobX 설치하기, decorator 에러 해결 과정 본문
[20201230 groomIDE] React 프로젝트에 MobX 설치하기, decorator 에러 해결 과정
ming235 2020. 12. 30. 23:19아니 회사에서부터 오질라게 삽질중이다.
MobX 쓰려면 decorator를 써야 간지인데 구름IDE 사용할 때 @observable 데코레이터가 안붙어서 죽겠당 ㅜㅜ
계속 이 에러가 난다.
Support for the experimental syntax 'decorators-legacy' isn't currently enabled
심지어 groom ide에서는 eject도 안되는데 이럴땐 어떻게 해야할지 정말정말 모르겠다..
-----
20201231 다음날
포기를 모르는 매냐 다시 도전!!
일단 eject 없이 MobX 설치하는 방법을 많은 searching 끝에 찾아내었다.
생각을 가다듬고 나는 데코레이터 레거시 에러를 해결만 하면 되는 간단한 문제라고 보기로 했다.
eject 없이 하려면 customize-cra와 react-app-rewired를 사용해야 한다.
customize-cra와 react-app-rewired는 eject 없이 CRA의 설정을 커스터마이징을 할 수 있도록 해주는 라이브러리. (eject보다 자유롭지는 않다)
아무튼 이걸 사용하기위해
$ yarn add --dev customize-cra
$ yarn add --dev react-app-rewired
(갑자기 패키지매니저를 npm이 아닌 yarn을 사용, 구글링하면 yarn으로 설명되어 있는게 많아서...
yarn은 추가 해주면 된다 $ npm i yarn install)
위의 두개 설치해주고, package.json 도 약간 수정했다.
(이건 사실 어제부터 삽질하면서 수정되어 있었다.)
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test --env=jsdom",
"eject": "react-scripts eject"
},
... ,
"babel": {
"presets": [
"react-app"
],
"plugins": [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
]
]
},
...
그리고 / 폴더에 config-overrides.js 파일을 생성해 주었다.
const {
addDecoratorsLegacy,
disableEsLint,
override,
} = require("customize-cra");
module.exports = {
webpack: override(
disableEsLint(),
addDecoratorsLegacy()
),
};
일단 자세히는 모르는데 시키는 대로 했다.
(그냥 딱봐도 데코레이터 사용할 수 있도록 추가해주고 EsLint 관련한 설정을 해주는 것 같고, 전체적으로 사용자 임의로 내가 쓸 것만 웹팩에 설정해주는 느낌?)
그리고 마지막으로 아래 명령어를 실행하고
$ yarn add --dev core-decorators
$ yarn start
하자마자 run 메시지 뜨고 너무 설레었다.
나도 이제 집 컴퓨터에서 MobX 방식을 제대로 decorator까지 붙여서 해볼 수 있다는 것이다! 뿌듯해
'프로그래밍 > JS | React' 카테고리의 다른 글
[20210505] Node.js 와 비동기 I/O 처리 (0) | 2021.05.05 |
---|---|
[20201230] groom IDE 에서 git에 커밋하기 (0) | 2020.12.30 |
[20201228] 구름IDE 사용 첫걸음 (0) | 2020.12.28 |
mobx 프로젝트 파일 생성 (0) | 2020.04.11 |
본격 React 프로젝트 워밍업 (0) | 2020.03.09 |