-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebpack.config.js
41 lines (40 loc) · 1.23 KB
/
webpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const path = require("path");
module.exports = {
entry: "./public/javascripts/index.js", // Titik masuk utama (Entry point)
output: {
filename: "bundle.js", // Nama file output
path: path.resolve(__dirname, "public/dist"), // Direktori output
publicPath: "/dist/", // Path publik untuk mengakses file output
},
module: {
rules: [
{
test: /\.js$/, // Aturan untuk file JavaScript
exclude: /node_modules/,
use: {
loader: "babel-loader", // Menggunakan Babel untuk kompatibilitas ES6+
options: {
presets: ["@babel/preset-env"],
},
},
},
{
test: /\.css$/, // Aturan untuk file CSS
use: ["style-loader", "css-loader"], // Menggunakan style-loader dan css-loader
},
{
test: /\.(png|jpg|gif|svg)$/, // Aturan untuk file gambar
use: [
{
loader: "file-loader",
options: {
name: "[name].[hash].[ext]", // Nama file output dengan hash untuk caching
outputPath: "images/", // Direktori output gambar
},
},
],
},
],
},
mode: "development", // Mode pengembangan
};