Babel is a JavaScript compiler.
- ES6 이상의 자바스크립트나 타입스크립트, JSX 등을 현재 및 이전 브라우저 또는 환경에서 동작할 수 있도록 이전 버전의 자바스크립트 코드로 변환해 주는 트랜스파일러이다.
@babel/core
@babel/cli
plugin
preset
plugin
들을 모아놓은 집합polyfill
babel
설치vue add babel
// 타입스크립트 변환을 위한 preset 설치
npm install --save-dev @babel/preset-typescript
babel 7
babel-loader
@vue/babel-preset-app
@babel/preset-env
를 포함core-js
babel.config.js
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset',
// @babel/preset-typescript 별도 추가 필요
'@babel/preset-typescript'
]
}
babel
설치// babel core와 cli 설치
npm install --save-dev @babel/core @babel/cli
// ES5+와 타입스크립트 변환을 위한 preset 설치
npm install --save-dev @babel/preset-env @babel/preset-typescript
// babel 7.4부터 @babel/polyfill은 deprecated 됐으므로 core-js@3 설치
npm install core-js@3
// core-js@3와 @babel/runtime 사용을 위한 플러그인 추가 설치
npm install --save-dev @babel/plugin-transform-runtime
npm install @babel/runtime-corejs3
// loader 설치
npm install --save-dev babel-loader
babel.config.json
파일 생성{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"edge": "17",
"firefox": "60",
"chrome": "67",
"safari": "11.1"
},
// preset의 polyfill 삽입 방식 설정 옵션
"useBuiltIns": "usage",
// 삽입되는 core-js 버전 설정
"corejs": "3.21.1"
}
],
[
"@babel/preset-typescript"
]
],
"plugins": [
[
"@babel/plugin-transform-runtime",
{
"corejs": 3
}
]
]
}