일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- sql
- 블록체인용어
- javascript
- 코드서울
- react코어
- 데이터베이스
- 처리프로그램
- 프로덕트구조
- webpack
- Oracle
- 감시프로그램
- react
- 제어프로그램
- 프론트엔드
- 마이그레이션
- roadhog
- 오라클
- dbms
- 선점 스케줄링
- 프로덕트관리
- 서비스프로그램
- typescirpt
- 자바스크립트
- Migration
- 타입스크립트
- useCallback
- typescript
- 운영체제
- 리액트
- Database
- Today
- Total
Develop+
webpack 라이브러리 걷어내고 커스텀하기 본문
담당하고있던 서비스에서 webpack 설정이 복잡하고 까다롭기 때문에 webpack 설정 + 개발환경을 도와주는 라이브러리 roadhog를 사용했다. 계속 사용해도 나쁘지 않았지만, 서비스가 커지면 커질수록 문제점이 생겼다.
roadhog npm(참고)
https://www.npmjs.com/package/roadhog
문제점은
webpack 설정에 관련된 af-webpack 과의 강한 의존성
roadhog는 업데이트가 더이상 되지 않아 많은 패키지들이 더이상 호환되지 않는다.
중국어로 된 docs. 영어docs 는 매우 불친절...
사용하는 사람이 적어 정보를 찾기가 힘듬.
등이 되겠다.
지금까지 왜 걷어내지 않았는가?
를 생각해보면, 서비스가 커지면 커질수록 기본 환경을 전부 설정하고있는 roadhog를 걷어내는 것은
변경 후 SideEffect가 너무 클 것으로 예상되고,
webpack, babel... 환경설정에 대해 깊은 이해력을 가진 사람의 부재이고,
지금으로도 잘 작동했기 때문에 걷어내지 않았던 거 같다.
하나로 더 많은 시간이 소요되기도 하기 때문에, 서비스에 여유있는 시기가 아니라면 어려웠을 것이다.
의존성이 강하다 보니 webpack 내 플러그인들의 버전이 너무 낮아 새로운 기술들을 도입할 때 점점 문제가 생기기 시작했다. roadhog 내에서 사용하는 af-weback, 그리고 그 내부에서 사용하고있는 uglify-webpack-plugin 의 버전이 너무 낮아 web3 컴파일이 어려워 에러를 배출해냈고, 이걸 해결하는 방법은 내부의 uglify-webpack-plugin의 버전을 올려주고 해당 버전 사용법으로 코드를 바꿔주는 방법을 임시방편으로 사용하기로 했다. (개발서버에서만 사용) 이 계기로 roadhog를 걷어내는 것을 추진하게 되었다.
걷어내기 위한 준비물
roadhog
> webpack, babel, 개발환경에 대한 이해이다.
현재 로컬서버 세팅, 빌드 후 개발서버 배포 테스트까지 완료 되었고,
기존 서비스 총 로딩 시간이 6.3s -> 0.9s 까지 단축되어 성능이 5s 이상 개선되었다. 기존의 사이트가 너무 느린 것도 있었지만 많은 속도가 개선되어 뿌듯했다.
개발 과정에서 만났던 에러들/배웠던 점들을 하나하나 짚어보며 포스팅하도록 하겠다.
'Webpack' 카테고리의 다른 글
Webpack이란? Webpack 개념, 주요요소(Entry, Output, Loader, Plugin) (0) | 2022.04.13 |
---|