Babel 2

[Monorepo] Jest 실행 때 자꾸 SyntaxError가 난다면 Babel 설정을 다시 해보자

SyntaxError: Cannot use import statement outside a module Monorepo 구조의 프로젝트에서 Jest를 도입하는 초기 과정에서 이런 에러가 났다. 이렇게 import 할 때부터 에러가 난다면 Babel이 트랜스파일링을 못하고 있는 것이다. 그런데 Webpack 서버를 실행하거나 빌드할 땐 문제가 없었는데 왜 Jest를 실행할 때 이런 에러가 나는 걸까? 먼저 Monorepo에서의 Babel 설정에 대해 이해할 필요가 있다. Monorepo에서 Babel 설정하기 Monorepo에서는 레파지토리의 루트에 babel.config.json 파일을 생성해서 핵심 설정을 지정해야 한다. .babelrc.json 파일을 통해 각 하위 패키지에서 개별 설정을 할 수도 있..

💻💀/개발 2022.07.24

폴리필(Polyfill)이란

폴리필 폴리필(Polyfill)이란 브라우저가 지원하지 않는 자바스크립트 코드를 지원 가능하도록 변환한 코드를 뜻한다. 하위 브라우저가 지원하는 자바스크립트 코드를 사용해 자바스크립트의 최신 기능을 똑같이 구현하는 방식이다. Babel과 core-js 폴리필을 위한 트랜스파일러에는 Babel이 있다. Babel 내부에는 core-js라는 라이브러리가 탑재되어 ES6 이후의 문법들을 폴리필 처리할 수 있다. 폴리필 따라해보기 ES6에서 추가된 배열의 내장 메서드 map()을 ES5로 구현해보자. mockMap()은 map()과 같이 배열 내의 모든 요소에 대해 주어진 콜백함수를 호출한 결과를 모아 새로운 배열을 반환하는 메서드이다. const nums = [1, 4, 9, 16]; const result ..

💻💀/개발 2021.09.26