๐Ÿ“–
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

1. Handlebars

PreviousWebpackConfigNext2. Caching

Last updated 4 years ago

Was this helpful?

  • Handlebars

    • JS์˜ ์ค‘ ํ•˜๋‚˜.

    • ํ…œํ”Œ๋ฆฟ ์—”์ง„์ด๋ผ ํ•˜๋ฉด, ํ”„๋กœ๊ทธ๋žจ ๋กœ์ง๊ณผ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๊ณ„์ธต ๋ถ„๋ฆฌ ์ˆ˜๋‹จ.

    • mustache ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•œ ํ…œํ”Œ๋ฆฟ ์ธ์ž.

    • mustache(์ฝง์ˆ˜์—ผ๋ชจ์–‘์˜ ) Bracket์„ ์ด์šฉํ•˜์—ฌ data ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ.

    • htmlํŽ˜์ด์ง€์—์„œ HTML + Bracket์˜ ๊ตฌ์„ฑ์œผ๋กœ ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ˜‘์—…ํ•  ๋•Œ, ๋””์ž์ด๋„ˆ์—๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๊ตฌ์กฐ๋กœ ํ˜‘์—…์— ๋„์›€์ด ๋œ๋‹ค.

    • ํ™•์žฅ์ž(.hbs)๋ฅผ ๊ฐ€์ง€๊ณ  ์ปดํŒŒ์ผ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

  • ํ…œํ”Œ๋ฆฟ ์—”์ง„

    • ํ…œํ”Œ๋ฆฟ ์–‘์‹๊ณผ ํŠน์ • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋”ฐ๋ฅธ ์ž…๋ ฅ์ž๋ฃŒ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌธ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

    • ๊ทธ ์ค‘, ์›น ํƒฌํ”Œ๋ฆฟ ์—”์ง„์ด๋ž€ ์›น๋ฌธ์„œ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์—”์ง„์„ ๋งํ•œ๋‹ค.

      • Web Template / Database(Model) => Template Engine(Compile) => Web document (View)

      • view Code(html) ๊ณผ data logic code(db connection)์„ ๋ถ„๋ฆฌํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ

    • ํ…์ŠคํŠธ ํ…œํ”Œ๋ฆฟ ์—”์ง„

      • ํ…œํ”Œ๋ฆฟ ์–‘์‹์— ์ ์ ˆํ•œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ๊ฒฐ๊ณผ๋ฌธ์„œ ์ถœ๋ ฅ

        • Thymeleaf, JSP,...

      • ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ํ…œํ”Œ๋ฆฟ ์—”์ง„(Server Side Template Engine)

        • ์—ญํ• :์„œ๋ฒ„์—์„œ DB๋‚˜ API์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์ •์˜๋œ Template์— ๋„ฃ์–ด html์„ ๊ทธ๋ ค, ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌ.

        • HTML์—์„œ ๊ณ ์ •์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๋ถ„์„ template๋กœ ๋งŒ๋“ค๊ณ  ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ถ€๋ถ„๋งŒ ํ…œํ”Œ๋ฆฟ์— ์†Œ์Šค์ฝ”๋“œ ๋„ฃ๋Š”๋ฐฉ์‹

        • ์˜ˆ(js): Handlebars, EJS, Jade,...

      • ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ํ…œํ”Œ๋ฆฟ ์—”์ง„(Client Side Template Engine)

        • ์—ญํ• : ๋™์ ์œผ๋กœ DOM์„ ๊ทธ๋ฆฌ๊ฒŒ ํ•˜๋Š” ์—ญํ• 

        • ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ, DOM ๊ฐ์ฒด์— ๋™์ ์œผ๋กœ ๊ทธ๋ ค์ฃผ๋Š” ํ”„๋กœ์„ธ์Šค ๋‹ด๋‹น

        • ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณตํ†ต์ ์ธ ํ”„๋ ˆ์ž„์„ ๋ฏธ๋ฆฌ ์ œ์ž‘ํ•œ ๊ฒƒ์„ template์ด๋ผ๊ณ  ํ•œ๋‹ค.

        • scriptํƒ€์ž…์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉ

        • ํ•„์š”์„ฑ

          • HTML DOM์ด ๋‹ค ๊ทธ๋ ค์ง„ ๋’ค, ์„œ๋ฒ„ ํ†ต์‹  ์—†์ด ํ™”๋ฉด๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ.

          • ๋‹จ์ผ ํ™”๋ฉด์—์„œ ํŠน์ • ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ ํ™”๋ฉด์ด ๊ณ„์† ๋ณ€๊ฒฝ๋˜์–ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ.

        • ์˜ˆ: Handlebars, Mustache, ...

      • ๊ณผ์ •

        • ํด๋ผ์ด์–ธํŠธ์—์„œ ๊ณตํ†ต์ ์ธ ํ”„๋ ˆ์ž„(template) ๊ฐœ๋ฐœ

        • ์„œ๋ฒ„์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์š”์ฒญ

        • ๋ฐ์ดํ„ฐ๋ฅผ template์˜ ์ ์ ˆํ•œ ์œ„์น˜์— ๋Œ€์ฒดํ•œ ํ›„ DOM๊ฐ์ฒด์— ๋™์ ์œผ๋กœ ์ „๋‹ฌ

      • ํ•„์š”์„ฑ

        • HTML์— ๋น„ํ•ด ๊ฐ„๋‹จํ•œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋Ÿ‰์„ ์ค„์ž„

        • ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„์ง

        • ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด

  • ์‹ค์Šต

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

      npm i handlebars -D
    • .hbs ํ™•์žฅ์ž๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก handlebars-loader์„ค์น˜ ํ›„, loader์— ์„ค์ •

      npm i handlebars-loader -D
      • ์˜ต์…˜์—†์ด ์‚ฌ์šฉ์‹œ

        {
          test: /\.hbs$/,
          use:['handlebars-loader']
        }
    • plugin

      • HtmlWebpackPlugin์œผ๋กœ Data๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋  ๋•Œ plugin์„ค์ •

        plugins:[
          new HtmlWebpackPlugin({
              title:'Webpack',
              template:'./template.hbs'
          })
        ],
      • ์œ„์™€๊ฐ™์ด ์„ค์ •์‹œ, ๋ฐ์ดํ„ฐ๊ฐ€ hbs์ชฝ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด์„œ title๊ฐ’์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

      • template.hbs์— ์•„๋ž˜ ์ž‘์„ฑ

        {{htmlWebpackPlugin.optioins.title}}
    • build(bundle) ๊ฒฐ๊ณผ ํ™•์ธํ•˜๊ธฐ

      npm run build
    • meta ํƒœ๊ทธ๋„ ์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉํ•ด๋ณด๊ธฐ.

      • webpack.config.js ๋‚ด๋ถ€ metaํ‚ค ํ™•์ธ

      • template.hbs ์— ์ž‘์„ฑ๋œ metaํƒœ๊ทธ๋ฅผ ์ง€์šฐ๊ณ  build ํ•ด๋ณด๊ธฐ

๐Ÿฅ
์ฐธ์กฐ๋ฌธ์„œ
์ฐธ์กฐ๋ฌธ์„œ
ํ…œํ”Œ๋ฆฟ ์—”์ง„