🌐
Miniclass Web
  • Miniclass Web
  • 1. Pengenalan Pemrograman Web
    • Cara Kerja Website
    • Pengenalan Backend dan Frontend
    • HTTP Request dan HTTP Response
  • 2. HTML
    • Pengenalan HTML
    • Text Formatting
    • Link
    • Media
    • List
    • Table
    • Form
    • Grouping
  • 3. CSS
    • Pengenalan CSS
    • Selector CSS
    • Text Formatting
    • Background
    • Border
    • Height dan Width
    • Spacing
    • Layouting
    • Responsive Design
    • Membuat Template Web Responsive
  • 4. Javascript
    • Pengenalan JavaScript
    • Javascript for Java developer
    • Array
    • Fungsi
    • Manipulasi DOM
    • Event
    • Fetch API
    • Object JavaScript
    • UI Component Lanjutan
  • 5. Node.js
    • Pengenalan Node.js
    • Membuat Server HTTP
    • Routing
    • Import Export
    • Node Package Manager
    • Nodemon
  • 6. Express.js
    • Pengenalan Express.js
    • HTTP Method
    • Menerima Data dari URL
    • Middleware
    • Menerima Data dari Body
    • Mengunggah File
    • Menampilkan File dalam Folder
    • Menyimpan Data ke Database MySQL
  • 7. Modern Frontend Development
    • ECMAScript
    • Transpiler
    • Module Bundler
  • 8. React Fundamental
    • Pengenalan React JS
    • Props
    • Event
    • State
    • Conditional Rendering
    • Component Mapping
    • Side Effect
    • Custom Hook
  • 9. React State Management
    • Lifting State Up
    • Context
    • Reducer
  • 10. React Performance
    • Debounce
    • Throttling
    • Memoization
    • Profiling
  • 11. React Testing
    • Component Testing
    • Hook Testing
    • Mocking
    • End to End Testing
  • 12. Object Relational Mapping
    • Pengenalan Object Relational Mapping
  • 13. Document Oriented Database
    • Document Oriented Database
    • Object Document Mapping
  • 14. Web Service
    • REST
    • GraphQL
  • 15. Autentikasi
    • JSON Web Token
    • Membuat Web Service Sederhana
  • 16. Microservices
    • Microservices
    • Microservices Gateway
    • Message Queue
    • Remote Procedure Call
    • Membuat Micro Service Sederhana
  • 18. Caching
Powered by GitBook
On this page
  • 1. Penjelasan Module Bundler
  • 2. Penjelasan Webpack
  • 3. Cara Menggunakan Webpack
  • 3.1. Membuat file yang akan dibundling
  • 3.2. Install webpack
  • 3.3. Buat Config File
  • 3.4. Bundling
  • 4. Webpack Loader
  • 4.1. Bundling CSS
  • 5. Zero Configuration Webpack

Was this helpful?

  1. 7. Modern Frontend Development

Module Bundler

PreviousTranspilerNextPengenalan React JS

Last updated 4 years ago

Was this helpful?

1. Penjelasan Module Bundler

Module bundler membantu kita dalam mengelolah file javascript beserta segala modul yang ada di dalamnya, dan kemudian file - file javascript tersebut akan di paketkan ke dalam sebuah file dengan ukuran yang lebih kecil.

Ilustrasinya seperti berikut :

Seperti yang kita lihat, disana terdapat banyak file javascript yang saling berkaitan satu sama lain, sehingga apabila tidak di bundle maka kita harus mengimport mereka satu per satu kedalam file HTML. Dengan melakukan bundle, maka file - file javascript tersebut akan menjadi satu, dan kita cukup mengimport satu file tersebut kedalam HTML kita.

2. Penjelasan Webpack

Webpack merupakan salah satu tool yang digunakan untuk melakukan bundling terhadap file - file javascript.

Selain sebagai module bundler, dengan berbagai loader dan plugin yang sudah disediakan untuk webpack, kita bisa menggunakan webpack untuk :

  1. Mengubah ES6 menjadi ES5

  2. Mengubah preprocessor CSS menjadi file CSS

  3. Minify file css dan html

Sehingga selain sebagai module bundler, webpack juga bisa menjadi task runner, tentu saja dengan bantuan loader dan pluginnya. Webpack juga digunakan pada Framework Front-end seperti ReactJS, VueJS, Angular dan sejenisnya.

3. Cara Menggunakan Webpack

3.1. Membuat file yang akan dibundling

// src/index.js
const chart = require("chart.js")
const moment = require("moment")

3.2. Install webpack

npm install webpack webpack-cli

3.3. Buat Config File

// webpack.config.js

module.exports = {
  entry: "./src/index.js",
  output: {
    path: __dirname + "/dist",
    filename: "bundle.js"
  }
}

entry menentukan lokasi file javascript yang akan dibundle, file ini merupakan file utama yang mengimport semua module yang dibutuhkan oleh aplikasi, sedangkan output menentukan lokasi bundling dan nama file yang akan dibuat

3.4. Bundling

Untuk melakukan proses bundling kita tinggal menjalankan perintah berikut pada terminal

webpack

Setelah perintah tersebut dijalankan, maka pada folder dist akan dibuat sebuah file bernama bundle.js yang sudah berisi dua module yaitu chart js dan moment, sehingga bundle.js sekarang bisa kita import ke file html tanpa perlu mengimport library lain

4. Webpack Loader

Secara default webpack hanya bisa melakukan bundling pada javascript, namun dengan bantuan loader kita dapat membundle aset lain seperti css dan image kedalam file javascript

4.1. Bundling CSS

Berikut merupakan contoh penerapan salah satu loader webpack yang digunakan untuk memasukkan styling pada file css kedalam javascript

4.1.1. Install Loader

npm install style-loader css-loader

4.1.2. Terapkan Loader ke Config

// webpack.config.js

module.exports = {
  entry: "./src/index.js",
  output: {
    path: __dirname + "/dist",
    filename: "bundle.js"
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ["style-loader", "css-loader"]
      }
    ]
  }
}

test menentukan jenis file apa yang akan kita terapkan loader, sedangkan use menentukan loader apa yang akan digunakan untuk file tersebut

4.1.3. Buat File CSS dan Import ke File Javascript (File Entry)

/* src/index.css */
body {
  background-color: black;
}
// src/index.js
require("index.css")

4.1.4. Bundling

Setelah selesai melakukan langkah - langkah diatas maka kita bisa menjalankan perintah berikut pada terminal

webpack

kemudian secara otomatis akan muncul file bundle.js yang didalamnya sudah berisi styling dari file css yang kita bundle, kita hanya perlu mengimport bundle.js ke html tanpa perlu mengimport file css sebelumnya

5. Zero Configuration Webpack

Setelah webpack merilis versi terbarunya yaitu webpack 4, kita tidak perlu lagi membuat file config webpack.config.js untuk menggunakan webpack, berikut tutorialnya

Disini kita akan menggunakan dan sebagai contoh module yang akan dibundle

moment
chart js
https://www.valentinog.com/blog/webpack-tutorial/
module bundler