Let's Study Coding

Welcome to Visit!!
Let's get it

웹 개발자로의 새로운 여정을 시작해 보겠습니다.

총 방문자
총 포스팅
오늘 방문자
000일 째 블로그 운영중

여러분들의 방문을
진심으로 환영합니다

웹 개발자로서, 다양한 개발 지식을 다루는
블로그를 만들어보겠습니다. 😃

최근 글

막 올라온 최신 포스팅을 구경해보세요 !

참고하는 웹사이트 목록 💻

필자가 자주 참고하는 웹사이트를 둘러보세요.

Img
2023. 2. 22. 22:45
[WebSite] 🖥️ 웹 개발을 할 때 자주 참고하는 사이트 모음.
목차 제가 웹개발을 할 때 자주 참고하는 사이트를 정리한 포스팅입니다. @Web's CSS 코드펜의 자료들 중 좋은 자료들을 모아 놓은 티스토리 블로그 사이트. 매우 유용한 자료가 많아서 애용하는 블로그다. @web's CSS 코드펜 레퍼런스 사이트입니다. wsss.tistor
더보기
Img
2023. 2. 13. 15:16
[WebSite] 🎨 유용한 무료 이미지 사이트 모음
목차 제가 주로 사용하는 또는 인터넷에서 찾은 유용한 무료 이미지 사이트를 모아서 정리한 포스팅입니다. Unsplash Unsplash는 200만개 이상의 완전 무료 고해상도 이미지를 제공하는 무료 이미지 사이트이다. 전 세계의 사진가들이 라이브러리에 사진을 제공하기
더보기
Img
2023. 2. 13. 15:01
[WebSite] 🖥️ 저작권 무료 목업 사이트 6곳 추천
포토샵, 일러스트를 이용한 디자인 작업을 할 때 로고나 웹, 패키지 등 디자이너들이 자신의 작업물을 더 업그레이드 하기 위하여 목업을 활용하고 있다. 오늘은 제가 주로 사용했던 무료 목업 사이트를 작성해보려고 한다. 1. Anthony Boyd Graphics Free Mockups
더보기
Img
2023. 2. 11. 20:33
[WebSite] 🌈 Gradient 사이트 모음.
목차 프론트엔드 웹개발을 하다 보면 Gradient를 이용하여 작업을 해야할 때가 많다. 문제는 Gradient 디자인을 할 때 단색으로 많은 톤을 잡지만 두 가지 이상을 사용할 때 조합이 어색하다면 전체적인 느낌이 살지 않을 수 있다. 하지만 조합이 잘된 그라데이션(Grada
더보기
Img
2023. 2. 11. 19:26
[WebSite] 🖥️ 유용한 SVG 사이트 모음
프론트엔드 작업을 하다보면 SVG를 사용하여 사이트를 만들어야 할 때가 생긴다. 그래서 어떤 유용한 SVG 사이트가 있는지를 알아볼 겸 자주 사용하는 SVG 사이트를 정리해서 작성해보려고 한다. 필자는 주로 7개의 SVG 사이트를 이용한다. 1. 부트스트랩(Bootstra
더보기

CSS 스타일링 🎨

웹 개발을 할 때 사용하는 CSS 사용방법을 확인해보세요.

Let's Write Message

Guest Book

블로그를 방문해주셔서 감사드립니다.
자유롭게 댓글 달아주세요 ~

Let's Choose Tag Box

Tag Page

원하시는 태그를 클릭해보세요.

Light Dev
Light Dev에서 공부한 내용을 정리합니다.

-

[Node.js] 🛠️ Babel 소개 및 사용법 본문

[Node.js] 🛠️ Babel 소개 및 사용법

Light9639

목차

    Babel 이란?

    Babel이란 최신 ES6ES7 버전의 JavaScript 코드를, ES5버전의 코드로 바꾸어주는 Node.js 패키지를 의미한다.


    Babel을 사용해야 하는 이유

    계속해서 변화하는 JavaScript의 최신 코드를 이해하지 못하는 웹 브라우저의 문제를 해결하기 위하여, 또는 컴퓨터만이 아니라, 스마트폰에서 사용하는 브라우저에서도 자바스크립트 코드를 작동되도록 만들어주기 때문에 사용해야 한다.


    Babel 작동방식

    Babel은 여러개의 플러그인이, 자신이 이해할 수 있는 ESNext 문법만 골라, 컴파일하는 방식으로 작동된다.

    1. ESNext 구문을 Babel 플러그인으로 보낸다.
    2. 여러개의 Babel 플러그인이 파이프라인 형태로 차례대로 실행한다.
    3. Babel 플러그인이 이해할 수 있는 구문을 ES5 코드로 컴파일한다.

    Babel 설치

    • Babel을 설치하는 방법은 밑의 코드를 참고하여 따라하면 된다.
    Shell
    # @babel/node : Node.js 커멘드 라인에서 사용하는 명령어를 사용할 수 있게 해준다 ( node > babel-node )
    
    npm install @babel/node
    
    
    # @babel/core : 바벨의 핵심기능이 담겨있는 기본 라이브러리 
    
    npm install @babel/core
    
    
    # @babel/cli : 커맨드 라인에서 바벨을 실행할 수있는 라이브러리
    
    npm install @babel/cli
    
    
    # @babel/preset-"" : ESNext코드를 컴파일 해주는 플러그인 모음 설치
    
    npm install @babel/preset-env (기본 js코드 검사)
    
    npm install @babel/preset-flow (플로우 코드 검사)
    
    npm install @babel/preset-typescript (타입스크립트 코드 검사)
    
    npm install @babel/preset-react (리액트 코드 검사)
    Shell
    // 바벨 핵심기능, Node.js 명령줄 모드, 기본 js코드 검사 규칙 설치하기
    npm install -D @babel/core @babel/node @babel/preset-env

    Babel 사용법

    Babel 설정 파일 만들기

    • .bablerc 파일을 생성한 뒤 밑의 코드대로 작성한다.
    JavaScript
    // .babelrc
    
    {
        "presets" : ["@babel/preset-env"]
    }
    
    // 기본 javascript 방식으로 바꾸어준다.

    Babel 사용해 ES5 코드로 바꾸기

    JavaScript
    babel src/js -w -d dist/js
    
    
    // "src/js" 폴더에 있는 모든 ES6+ 파일들을 번들로 만들어, 그 결과를 "dist/js"폴더에 저장
    // -w : 폴더에 있는 모든 파일 변경감지, 자동 변경 (--watch)
    // -d : 결과 출력 폴더 지정 (--out-dir)
    
    
    babel script.js -o compiled.js -s
    
    // -o : 결과를 파일로 출력 (--out-file)
    // -s : 난독화된 코드를 다시 읽기 좋게 바꾸는, 소스 맵 파일을 추가 (--source-maps)
    // -s inline : 인라인(한줄씩) 소스 맵 사용
    
    
    // --ignore "src/*" : "src폴더 안에 있는 모든 파일을 무시한다.
    // --plugins=@babel/proposal-class : 컴파일 할때 사용할 플러그인 불러오기
    
    
    // --copy-files --no-copy-ignored : 컴파일 안되는 파일 복사?
    // --out-file "*.js" < "*.js" : 파이핑?

    Babel 사용해, Node.js 서버 실행하기

    Shell
    babel-node <Node서버>
    
    // Node.js 서버의 최신 js코드를, es5 같은 호환성좋은 코드로 변환후, 서버까지 실행해준다.

    Babel 사용시 발생오류 해결법

    Shell
    // browserslist: caniuse-lite is outdated
    
    npx browserslist@latest --update-db

    잘못된 내용이 있으면 언제든 피드백 부탁드립니다.

    이 글이 좋으셨다면 구독 & 좋아요

    여러분의 구독과 좋아요는
    저자에게 큰 힘이 됩니다.


    Light Dev
    Light dev
    웹 개발자로의 새로운 여정을 시작해 보겠습니다. 조언해주실 부분이 있으시면 언제든 이메일 부탁드립니다.

    사이트를 방문해 주셔서 감사합니다

    만일 도움이 되셨으면 공감과 구독 버튼 클릭 부탁드립니다.
    추가적인 질문사항이나 이해가 안되는 점이 있으면 댓글로 적어주세요.

      Light9639
      티스토리에 팔로잉