TypeScript에 Babel 없이 UglifyJs 적용
Vue에 TypeScript를 적용하던 중 당황스러운 버그에 종착했다.
분명히 다양한 Boilerplate를 참고했음에도 불구하고 webpack에서의 빌드는 정상
적이지만
Vue App이 브라우저에 올라갈 때
오류가 뜨는 것이다.
1 | Failed to compile. |
1 | ERROR in bundle.js from UglifyJs |
확인해보니 UglifyJS는 ES6를 지원하지 않는다
고 한다.
TS => JS 변환된 파일을 Babel로 ES5로 변환한 후에 적용하면 된다는 데…
TypeScript는 컴파일 옵션을 통해 컴파일 타겟을 ES5로 설정
가능하기 때문에 굳이 Babel을 사용할 필요가 없다.
이 점이 굉장히 찜찜하여 더 검색을 해본 결과
기본적으로 webpack에서 제공해주는 UglifyJS 플러그인이 아니라 설치를 해서 옵션을 주면 가능하다는 것
별도의 플러그인을 설치
1 | npm i -D uglifyjs-webpack-plugin |
webpack.config.js
1 | var UglifyJSPlugin = require('uglifyjs-webpack-plugin'); |
허무하게 해결이 되긴 했지만 외국에서는 TypeScript with Babel 문제 의견이 분분하다.
TypeScript를 적용할 때 다양한 자료를 참고한다면 최대한 최신 자료를 참고
해야 하며이슈 목록을 체크
해 사전에 삽질을 방지해야 한다.