August 18, 2026

Cara Setup webpack.

Dasar konfigurasi webpack modern: entry, output, loader, dan plugin untuk menggabungkan serta mengoptimalkan aset JavaScript, CSS, dan gambar.

Webpack adalah module bundler: alat yang menggabungkan banyak file JavaScript, CSS, dan aset lain menjadi beberapa file akhir yang efisien untuk dimuat browser.

Instalasi Dasar

npm install --save-dev webpack webpack-cli

Struktur Konfigurasi Minimal

// webpack.config.js
const path = require("path");

module.exports = {
  entry: "./src/index.js",
  output: {
    filename: "bundle.js",
    path: path.resolve(__dirname, "dist"),
  },
  mode: "production",
};

entry menentukan file mana yang menjadi titik awal, sementara output menentukan nama dan lokasi file hasil bundling.

Menjalankan Webpack

npx webpack

Untuk kenyamanan saat development, tambahkan script di package.json:

{
  "scripts": {
    "build": "webpack --mode production",
    "dev": "webpack --mode development --watch"
  }
}

Loader: Memproses File Selain JavaScript

Webpack secara default hanya memahami JavaScript. Untuk memproses CSS, gambar, atau file lain, dibutuhkan loader.

module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ["style-loader", "css-loader"],
      },
      {
        test: /\.(png|jpg|svg)$/,
        type: "asset/resource",
      },
    ],
  },
};

Dengan konfigurasi ini, file CSS bisa langsung diimpor dari JavaScript:

import "./gaya.css";

Plugin: Memperluas Kemampuan Webpack

const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {
  // ...
  plugins: [
    new HtmlWebpackPlugin({
      template: "./src/index.html",
    }),
  ],
};

Plugin bekerja di level yang lebih luas dibanding loader, misalnya menghasilkan file HTML otomatis yang sudah menautkan bundle JavaScript hasil build.

Development Server

npm install --save-dev webpack-dev-server
module.exports = {
  // ...
  devServer: {
    static: "./dist",
    hot: true,
    port: 3000,
  },
};

webpack-dev-server menjalankan server lokal dengan hot reload, sehingga perubahan kode langsung terlihat di browser tanpa perlu build manual berulang kali.

Webpack di Tengah Ekosistem Modern

Perlu dicatat, banyak proyek baru saat ini beralih ke bundler yang lebih cepat seperti Vite untuk kebutuhan development sehari-hari, sementara webpack tetap banyak dipakai di proyek besar dan lawas karena ekosistem plugin-nya yang sangat matang.

Kesimpulan

Konfigurasi inti webpack berputar di sekitar entry, output, loader untuk memproses berbagai jenis file, dan plugin untuk kemampuan tambahan seperti pembuatan HTML otomatis. Meski setup awalnya terasa rumit, memahami empat bagian ini sudah cukup untuk membaca dan menyesuaikan konfigurasi webpack di kebanyakan proyek.

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.

Comments