๐Ÿ“–
Mini's Today I Learned
  • Today I Learned
  • ๐Ÿ’ปComputer Science
    • ๐ŸงฑComputer Science
      • Computer Architecture
    • ๐Ÿฆ•OperatingSystem
      • System Structure
      • 01. ์šด์˜์ฒด์ œ ์—ญํ• 
      • 02. History๋กœ ์ดํ•ดํ•˜๋Š” ์šด์˜์ฒด์ œ
      • 03. ์šด์˜์ฒด์ œ ๊ตฌ์กฐ
      • 04. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ฅด๋ง
      • 05. ์Šค์ผ€์ฅด๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • 06. ํ”„๋กœ์„ธ์Šค ์ƒํƒœ์™€ ์Šค์ผ€์ฅด๋Ÿฌ
      • 07. ์ธํ„ฐ๋ŸฝํŠธ
      • 08. ํ”„๋กœ์„ธ์Šค์™€ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ
      • 09. ํ”„๋กœ์„ธ์Šค๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜(IPC ๊ธฐ๋ฒ•)
      • 10. Thread(์Šค๋ ˆ๋“œ)
      • 11. ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ (Virtual Memory System)
      • 12. ํŒŒ์ผ์‹œ์Šคํ…œ ์ดํ•ด
      • 13. ๋ถ€ํŒ…์˜ ์ดํ•ด
      • 14. ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine)
  • ๐Ÿ“ˆDatabase
    • MySQL CLI (Frequently used)
    • 1-Tier, 2Tier, 3Tier
    • Basic SQL
    • Built in function
    • Sub Query
    • View
    • Stored Program
    • index
    • Normalization(์ •๊ทœํ™”)
    • Transaction
    • Transaction
  • ๐ŸŒ Network
    • ๐Ÿ”Œ TCP&IP Basic
      • 01 TCP/IP ๋ง›๋ณด๊ธฐ
      • 02 TCP/IP ๊ฐœ์š”
      • 03 ํ†ต์‹  ์„œ๋น„์Šค์™€ ํ”„๋กœํ† ์ฝœ
      • 04 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต
      • 05 ํŠธ๋ Œ์ŠคํฌํŠธ ๊ณ„์ธต
      • 06 ๋„คํŠธ์›Œํฌ๊ณ„์ธต
      • 07 ๋ฐ์ดํ„ฐ ๊ณ„์ธต๊ณผ ๋ฌผ๋ฆฌ๊ณ„์ธต
      • 08 ๋ผ์šฐํŒ…
      • 09 ๋ณด์•ˆ
      • 10 HTTP ํ”„๋กœํ† ์ฝœ
    • ๐Ÿฟ๏ธHTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ ์š”์•ฝ
      • 1. HTTP: ์›น์˜ ๊ธฐ์ดˆ
      • 2. URL ๊ณผ ๋ฆฌ์†Œ์Šค
      • 3. HTTP Message
      • 4. Connection Management
      • 5. Overview of web server architectures
      • 6. Proxies
      • 7.Caching
      • 8. Integration Points: Gateways, Tunnels, and Relays
      • 9. Web Robots
      • 10. HTTP/2.0
      • 11. Client Identification and Cookies
      • 12. Basic Authentication
      • 13. Digest Authentication
      • 14. Secure HTTP
      • 15. Entities and Encodings
      • 16. Internationalization
      • 17. Content Negotiation and Transcoding
      • 18. Web Hosting
  • ๐ŸดLanguage
    • โ˜•JAVA
      • Comparable vs Comparator
  • ๐Ÿ› ๏ธ Framework
  • ๐ŸงฉDesign Pattern
    • ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™ (SOLID)
    • Design Pattern ๊ฐœ์š”
    • Template method
    • Singleton
  • ๐ŸฅFrontEnd
    • HTML&CSS
      • 01 Intro
      • 02 HTML Basic
      • 03 Content Section
      • 04 Block and Inline Elements
      • 05 Text Contents
      • 06 Inline Elements
      • 07 Multi Media
      • 08 Table&Form&etc
      • 09 Global Attribute & etc
      • 10 css basic
      • 11 css config
      • 12 css unit
      • 13 Box Model
      • 14 Font & Text
      • 15 Float(๋„์›€) & Position
      • 16 Background
      • 17 Transitions & Transforms
      • 18 Animation & Multi Columns(๋‹ค๋‹จ)
      • 19 Flex
      • 20 Grid
    • Sass(SCSS)
    • TypeScript
    • Webpack Introduction
      • ์›นํŒฉ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ
      • CommonJS
      • ESM
      • WebpackConfig
        • 1. Handlebars
        • 2. Caching
        • 3. Minification & Mangling
        • 4. Mode(Development mode & Production Mode)
        • 5. ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ๋“ˆ๋กœ ๋‹ค๋ฃจ์–ด๋ณด๊ธฐ(file-loader)
        • 6. ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ๋“ˆ๋กœ ๋‹ค๋ฃจ์–ด๋ณด๊ธฐ(url-loader)
        • 7. SASS Loader
        • 8. Post CSS
        • 9. BLOWSERS LIST
        • 10. Stylelint
        • 11. Babel
      • Webpack-Practice
    • ETC
      • GIT
      • MarkDown
Powered by GitBook
On this page

Was this helpful?

  1. FrontEnd
  2. Webpack Introduction
  3. WebpackConfig

11. Babel

  • Intro

    • ์ผ๋ถ€ css๊ธฐ๋Šฅ๋“ค์€ ํ•˜์œ„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์š”ํ•  ์ˆ˜ ์—†๋Š” ๊ธฐ๋Šฅ๋“ค์ด๊ธฐ ๋•Œ๋ฌธ์—, ํ•˜์œ„๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ˜ธํ™˜ํ•˜๊ธฐ์œ„ํ•ด vendor prefixer์„ค์ •ํ–ˆ์Œ.

    • css์ฒ˜๋Ÿผ js์˜ ์ŠคํŽ™๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‹ค์Šตํ–ˆ๋˜ ES6์ŠคํŽ™์ด ํ•˜์œ„๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›์ด ์•ˆ๋˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ๋‚ดํฌํ•˜๊ณ  ์žˆ์Œ.

    • Bable

      • ES6+์ฝ”๋“œ๋ฅผ ํ•˜์œ„๋ฒ„์ „ ์ฝ”๋“œ๋กœ transpiling ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ

      • Babel์€ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ์„ ๋‹ด๋Š” ์ผ์ข…์˜ ์ƒ์ž ์—ญํ• . ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์€ ๋ชจ๋“ˆ๋“ค(ex:presets)์„ ์‚ฌ์šฉ

      • ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง•์˜ ํ˜ผ๋ž€์„ ํ•ด๊ฒฐ ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.

        ์ ์  ๋ฐœ์ „ํ•ด๊ฐ€๋Š” ์–ธ์–ด์˜ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ํ˜น์€ ์ฝ”๋“œ๋ฅผ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋Ÿฐ ๊ธฐ๋Šฅ๋“ค์„ ํ•˜์œ„ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋„๊ตฌ๊ฐ€ Babel

  • ์‹ค์Šต

    • ๋ชจ๋“ˆ ์„ค์น˜

      npm i @babel/cli @babel/core @babel/preset-env babel-loader -D
      npm i @babel/polyfill -D
      • @babel/core: Bable์˜ ํ•ต์‹ฌ๊ธฐ๋Šฅ์ด ๋“ค์–ด์žˆ๋Š” ๋ชจ๋“ˆ

      • @babel/cli : ํ„ฐ๋ฏธ๋„์—์„œ ์ฝ”๋“œ๋ฅผ transpileํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ

        • ์‚ฌ์šฉ์˜ˆ

          babel input.js --out-file output.js
        • babel: ๋ฐ”๋ฒจ ํ˜ธ์ถœ

        • input.js: transpileํ•˜๋ ค๋Š” jsํŒŒ์ผ(ES6+)

        • --out-file: babel์— ์ „๋‹ฌํ•  ์˜ต์…˜ (ํŒŒ์ผ๋กœ outputํ•˜๋Š” ์˜ต์…˜)

        • output.js: ์ถœ๋ ฅํŒŒ์ผ ์ด๋ฆ„

      • @babel/preset-env: ์„ค์น˜ํ•˜๊ณ  ์‹ถ์€ plugin์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ

        • ๋‹จ ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ฝ”๋“œ์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

        • ์ด๋•Œ๋Š” ์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋งŒ ์„ ํƒ์ ์œผ๋กœ ์ง€์›ํ•˜๋„๋ก option์„ ์ •ํ•ด์ฃผ์ž.

        • preset์ด ์—†์„๋•Œ์—๋Š”, ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ์ผ์ผ์ด npm๋ช…๋ น์œผ๋กœ ์„ค์น˜๋ฅผํ•˜๊ณ , ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ .babelrcํŒŒ์ผ์— ์•Œ๋ ค์•ผ ํ–ˆ์—ˆ๋Š”๋ฐ

        • preset์„ ํ†ตํ•ด์„œ npm ์„ค์น˜์™€ babel ์„ค์ •์„ ํ•œ๋ฒˆ๋งŒ ํ•˜๋ฉด plugin๋“ค์ด ์ž๋™์ ์œผ๋กœ ์„ค์น˜๋œ๋‹ค

      • @babel/loader:

        • Webpack์ด ๋ชจ๋“ˆ์„ ๋ฒˆ๋“ค๋งํ•  ๋•Œ Babel์„ ์‚ฌ์šฉํ•˜์—ฌ ES6+ ์ฝ”๋“œ๋ฅผ ES5 ์ฝ”๋“œ๋กœ ํŠธ๋žœ์ŠคํŒŒ์ผ๋งํ•œ๋‹ค.

        • ๋ฐ”๋ฒจ์ด ์›นํŒฉ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

      • @babel/polyfill:

        • preset์„ ์ด์šฉํ•˜์—ฌ ํ•˜์œ„ ๋ฒ„์ „์œผ๋กœ ํŠธ๋ Œ์ŠคํŒŒ์ผํ•ด๋„, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๊ฐ€ ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ์Œ

        • ๋Œ€์ฒดํ•  ๊ธฐ๋Šฅ์ด ์—†๊ธฐ๋•Œ๋ฌธ.

        • ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €์—์„œ๋„ ES6+์—์„œ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๊ฐ์ฒด๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„ค์น˜

        • ํ˜„์žฌํ™˜๊ฒฝ์—์„œ ์ง€์›์ด ์•ˆ๋˜๋Š” ์ƒํ™ฉ์—์„œ ๋Œ€์ฒด๊ธฐ๋Šฅ์„ ์ œ๊ณต

    • ์„ค์ •ํŒŒ์ผ(.babelrc ํ˜น์€ babel.config.js)

      • ๊ถŒ์žฅ: babel.config.js

        module.exports = {
            presets: ['@babel/preset-env'],
        };
    • webpack ํŒŒ์ผ ์„ค์ •(webpack.config.js)

      • loader ์„ค์ •ํ•˜๊ธฐ (์•„๋ž˜๋‚ด์šฉ rules์— ์ถ”๊ฐ€)

        {
        test: /.js/,
        exclude: /node_modules/,
        loader: 'babel-loader'
        }
    • build๊ฒฐ๊ณผ, const๊ฐ€ var๋กœ ์ž‘์„ฑ๋˜์–ด์žˆ๋Š”๊ฒŒ ํ™•์ธ๋จ

      • Networkํƒญ - js ํŒŒ์ผ์—์„œ ํ™•์ธ

      • ๊ฒ€์ƒ‰ํ‚ค์›Œ๋“œ: imgElment

    • @babel/polyfill ์ ์šฉ

      • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ตœ์ดˆ๋กœ ํ•œ๋ฒˆ๋งŒ ๋กœ๋“œ ๋˜์–ด์•ผํ•œ๋‹ค.

      • index.jsํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ–ˆ์œผ๋‹ˆ๊นŒ ์—ฌ๊ธฐ์„œ import ํ•ด์˜จ๋‹ค.

        import '@babel/polyfill';
      • ์„œ๋ฒ„ ๋„์šฐ๊ณ  Network ํƒญ์—์„œ ํ™•์ธํ•ด๋ณด๊ธฐ!

        • ๊ฒ€์ƒ‰ํ‚ค์›Œ๋“œ: polyfill

Previous10. StylelintNextWebpack-Practice

Last updated 4 years ago

Was this helpful?

๐Ÿฅ