# 22-04-04

# 브라우저 호환성

사용자의 다양한 이용 환경에 대응하자 🛠 (IE, 구버전 브라우저...)

# 트랜스파일링(Transpiling)

# babel

트랜스파일러(transpiler), 코드를 구 표준 준수 코드로 변경

바벨은 ES6+, 타입스크립트, 커피스크립트, JSX .... 다양하게 작성된 코드를 다양한 브라우저에서 동작하도록 호환성을 지켜준다.

npm install @babel/core @babel/cli @babel/preset-env --save-dev

babel.config.json으로 babel 실행 설정을 한다.

{
  "presets": [],
  "plugins": []
}

# webpack

webpack을 이용하여 entry point로부터 의존되는 모듈을 자동으로 babel로 트랜스파일링 할 수 있다

npm install webpack webpack-cli
npx webpack

webpack.config.js으로 설정 (https://webpack.js.org/configuration/)

Babel Loader (opens new window)를 이용하여 webpack과 babel을 연동할 수 있다.

# webpack - Using source maps

webpack을 사용하면서 디버깅에 사용하기 위해 source map을 사용해보자

소스맵 사용하기 (opens new window)


# Commit message convention

https://github.com/nhn/fe.javascript/blob/master/.github/commit-message-convention.md (opens new window)

협업을 위한 git 커밋컨벤션 설정하기 (opens new window)

# PR templates

https://github.com/nhn/fe.javascript/blob/master/.github/pull-request-guideline.md (opens new window)

# Issue templates

https://github.com/stevemao/github-issue-templates (opens new window)

Github Issue Templates으로 Issue 쉽고 체계적이게 작성해보기 (opens new window)

[Git] 깃헙에서 이슈템플릿 설정하기 (opens new window)

https://github.com/google/flexbox-layout/ 이슈 작성화면 (opens new window)


Reference

  1. 프론트엔드 개발환경의 이해: Babel (opens new window)
  2. 모던 JavaScript 튜토리얼 - 폴리필 (opens new window)
  3. 자바스크립트 개발자를 위한 타입스크립트 - TC39 프로세스 (opens new window)