Gunakan Webpack untuk Menguasai Konfigurasi Aplikasi React

 – Beragampengetahuan
11 mins read

Gunakan Webpack untuk Menguasai Konfigurasi Aplikasi React – Beragampengetahuan

Pengembang yang mengandalkan alat seperti Create React App mungkin tidak memiliki pengalaman langsung dengan Webpack. Namun, secara manual mengonfigurasi webpack dapat memberikan wawasan yang berharga tentang mekanisme yang mendasari bagaimana aplikasi web modern dibangun dan dibundel.

Panduan ini menyediakan walkthrough langkah demi langkah yang mengatur aplikasi React menggunakan webpack dari awal dan memberikan penjelasan yang jelas dan terperinci.

Contents

Apa itu Webpack dan mengapa menggunakannya?

Webpack adalah bundler modul yang kuat. Ini memproses semua file JavaScript Anda bersama dengan aset lain serta aset seperti CSS, gambar, dan font (mis. Transfer, menyusut) dan mengikatnya ke dalam file yang dioptimalkan yang dapat dimuat secara efisien oleh browser.

Dalam proyek React, Webpack dapat membantu Anda:

  • Bundel .js dan .jsx file Masukkan skrip optimasi tunggal atau ganda untuk produksi.
  • Menggunakan Babel Konversi JavaScript modern (ES6+) dan JSX menjadi kode yang dapat dipahami oleh browser.
  • Gaya proses, gambar, dan aset lainnyasehingga mereka dapat diimpor dan digunakan langsung di komponen Anda.
  • Jalankan Server Pengembangan Lokal Menggunakan Muat Ulang Bidang -Webpack dapat menggunakan alat seperti webpack-dev-server untuk menyediakan layanan ke aplikasi Anda secara lokal. Ini menyediakan fitur-fitur seperti Hot Module Replacement (HMR) atau Real-Time Reloading, jadi setiap kali file disimpan, browser secara otomatis diperbarui tanpa memuat ulang halaman penuh. Ini dapat meningkatkan kecepatan pengembangan dan loop umpan balik.

Prasyarat

Sebelum Anda mulai, pastikan yang berikut ini adalah:

  • Node.js dan NPM diinstal di komputer Anda
  • Anda memiliki pemahaman dasar tentang reaksi dan javascript

Anda dapat memeriksa apakah Node.js dan NPM diinstal dengan menjalankan perintah berikut di terminal:

Jika perintah ini tidak mengembalikan nomor versi, mereka perlu diinstal.

Unduh dan instal Node.js (termasuk NPM) dari situs web resmi.

Langkah 1: Siapkan folder proyek

Buat dan inisialisasi direktori proyek Anda:

mkdir my-react-webpack-app
cd my-react-webpack-app
npm init -y

Ini akan membuat file package.json yang akan melacak dependensi dan skrip kami.

Langkah 2: Pasang dependensi

Reaksi dan reaksi

Ini adalah perpustakaan inti untuk membangun dan memberikan antarmuka pengguna bereaksi.

npm install react react-dom

Webpack, Babel dan Loader

Untuk menggabungkan dan mentransfer kode Anda, kami memerlukan Webpack, Babel, dan beberapa loader dan plugin.

Instal mereka sebagai dependensi pengembangan:

npm install --save-dev webpack webpack-cli webpack-dev-server
npm install --save-dev babel-loader @babel/core @babel/preset-env @babel/preset-react
npm install --save-dev html-webpack-plugin css-loader style-loader

Mengapa paket ini?

  • Webpack, Webpack-Cli – Fungsi Webpack Core dan Antarmuka Baris Perintah mereka.
  • Webpack-dev-server – Putar server lokal dengan dimuat ulang real-time untuk pengembangan yang lebih cepat.
  • Babel -lovaler – Menginstruksikan Webpack untuk menggunakan Babel untuk file JavaScript dan JSX.
  • @Babel/Core, @Babel/Babel/Preset-ENV, @Babel/Preset-React – Paket Babel diperlukan untuk mengkompilasi javascript modern dan bereaksi sintaks JSX.
  • html-webpack-plugin – Secara otomatis menghasilkan file HTML dan menyuntikkan bundel webpack ke dalamnya.
  • CSS-Loader, Style Loader – Memungkinkan impor dan menyuntikkan gaya CSS langsung ke komponen reaksi.

Langkah 3: Mengkonfigurasi Babel (.BabelRC)

Babel adalah kompiler JavaScript yang memungkinkan kita menggunakan JavaScript modern (ES6+) dan JSX dalam kode React kita dan kemudian mengonversi kode ke format yang kompatibel dengan browser yang lebih lama.

Tanpa Babel, browser tidak akan memahami JSX atau sintaks JavaScript yang lebih baru, terutama fungsi panah, kelas, tautan opsional, dan fungsi lainnya.

Buat file konfigurasi .babelrc

Buat file .babelrc di root proyek dan memiliki yang berikut:


  "presets": ["@babel/preset-env", "@babel/preset-react"]

menjelaskan

  • @Babel/preset-env – Preset ini memberi tahu Babel untuk mengonversi JavaScript modern (ES6+) menjadi versi yang berfungsi di browser target Anda. Secara otomatis menentukan plug-in universal yang diperlukan berdasarkan konfigurasi dukungan lingkungan atau browser.
  • @Babel/Reaksi Preset – Preset ini memungkinkan Babel untuk memahami dan trans JSX sintaks, yang tidak dipahami oleh browser.

Mengapa ini penting

React menggunakan JSX, yang terlihat seperti HTML, tetapi sebenarnya adalah panggilan sintaksis untuk panggilan react.createlement (). JavaScript modern (seperti fungsi panah, asinkron/tunggu/const/const) juga tidak mendukung semua browser. Babel memastikan bahwa kode Anda bekerja dengan andal di lingkungan yang berbeda.

Dengan menggunakan preset ini, kode Anda akan tetap bersih dan modern sementara masih kompatibel dengan browser yang lebih tua.

Langkah 4: Konfigurasi Webpack (Webpack.config.js)

Webpack bertanggung jawab untuk menggabungkan file proyek Anda, mengonversinya melalui loader dan mengoptimalkannya untuk penempatan. Sekarang Anda perlu mengonfigurasi webpack untuk menangani kode React Anda dan aset lainnya.

Buat file webpack.config.js

Buat file bernama webpack.config.js di direktori root proyek dan tambahkan konfigurasi berikut:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = 
  // Entry point where the bundling starts
  entry: './src/index.jsx',

  output: 
    // Output directory for bundled files
    path: path.resolve(__dirname, 'dist'),
    // Name of the bundled file
    filename: 'bundle.js',
    clean: true, // Automatically clears previous build files in 'dist'
  ,

  module: 
    rules: [
      
        // Use Babel to transpile .js and .jsx files
        test: /\.(js,
      
        // Process CSS files
        test: /\.css$/,
        use: ['style-loader', 'css-loader'], // Inject CSS into the DOM
      ,
    ],
  ,

  resolve: 
    // Extensions that can be omitted during import statements
    extensions: ['.js', '.jsx'],
  ,

  plugins: [
    // Generate an HTML file and inject the bundled JS into it
    new HtmlWebpackPlugin(
      template: './public/index.html',
    ),
  ],

  devServer: 
    // Set the static directory to 'dist' where bundled files are stored
    static: path.resolve(__dirname, 'dist'),
    // Set the port for the development server
    port: 3000,
    open: true, // Open the browser automatically when the server starts
    hot: true, // Enable hot module replacement for live updates
  ,

  mode: 'development', // Set to 'production' for optimized builds (minification, etc.)
;

menjelaskan

Pintu masuk

  • Entri: ‘./src/index.jsx’ – Ini adalah titik awal untuk aplikasi Anda. Webpack akan mulai menggabungkan file dari sini yang ditentukan. Dalam sebagian besar proyek React, ini biasanya index.jsx atau index.js.

Keluaran

  • Path: Path. Diperbaiki (__ dirname, ‘dist’) – Tentukan di mana Webpack harus menempatkan file yang dibundel. __dirname mengacu pada direktori root, dan “dist” adalah folder tempat output disimpan.
  • Nama file: ‘bundle.js’ – Tentukan nama file output (mis., JavaScript Anda yang dibundel).
  • Bersihkan: Ya – Pastikan untuk menghapus direktori output sebelum bangunan baru untuk mencegah file lama berkeliaran di folder Dist.

Modul

  • aturan – Ini menentukan bagaimana jenis file yang berbeda harus ditangani selama proses bundling.
  • Pra-loader:
    • Tes:/\. (JS | JSX) qun // – Ekspresi reguler ini cocok dengan file .js dan .jsx.
    • Kecualikan: / node_modules / – Kecualikan folder node_modules dari pemrosesan Babel untuk menghindari konversi yang tidak perlu.
    • menggunakan: [‘babel-loader’] – Beri tahu Webpack untuk mentransfer file JavaScript dan JSX melalui Babel menggunakan Babel-Loader.
  • Css loader dan style loader:
    • Tes: /\ .css $ / – Cocokkan file .css.
    • menggunakan: [‘style-loader’, ‘css-loader’] – Style Loader menyuntikkan CSS ke DOM.CSS-LOADER untuk memproses CSS, memungkinkan Anda untuk mengimpor CSS langsung ke file JavaScript.

menyelesaikan

  • Ekstensi: [‘.js’, ‘.jsx’] – Konfigurasi ini memungkinkan Anda menghilangkan ekstensi saat mengimpor modul. Misalnya, impor aplikasi dari ‘./app’; Ini akan secara otomatis diselesaikan ke app.js atau app.jsx.

Plugin

  • htmlwebpackplugin(Templat: ‘./public/index.html’) – Tentukan templat file HTML. Plugin akan menghasilkan file HTML dan menyuntikkan JavaScript yang dibundel ke dalamnya untuk memastikan semua yang ada di browser diatur dengan benar.

Pengembang

  • Static: path.resolve (__ dirname, ‘dist’) – Beri tahu Webpack Devserver di mana file statis (output bundel) berada.
  • Port: 3000 – Menentukan nomor port yang akan dijalankan oleh server pengembangan. Anda dapat mengakses aplikasi Anda di browser Anda
  • Buka: Itu benar – Ketika server dimulai, browser default akan dibuka secara otomatis.
  • HOT: Ya – Aktifkan Penggantian Modul Hot (HMR), memungkinkan browser untuk memperbarui modul yang diubah tanpa memuat ulang seluruh halaman. Ini meningkatkan pengalaman pengembangan dengan segera menerapkan perubahan.

model

  • Model: ‘mengembangkan’ – Tentukan mode build. Dalam pengembangan, Webpack menyediakan kemampuan debugging yang berguna dan membangun lebih cepat.
  • Saat beralih ke produksi, Webpack mengoptimalkan build dengan menghapus kode, menghapus kode yang tidak digunakan, dll.

Mengapa konfigurasi ini dibutuhkan

Konfigurasi webpack ini memastikan berikut:

  • File JSX React Anda ditransfer menggunakan Babel.
  • CSS diproses dan disuntikkan dengan benar.
  • Kode Anda dibundel bersama dan memberikan pembaruan waktu nyata selama pengembangan (terima kasih kepada Webpack-Dev-Server).
  • Output ini telah dioptimalkan untuk pengembangan dan mudah dikonfigurasi untuk produksi saat siap untuk ditempatkan.

Langkah 5: Buat struktur folder

Buat folder dan file Anda:

my-react-webpack-app/
├── public/
│   └── index.html
├── src/
│   └── index.jsx
├── webpack.config.js
├── .babelrc
└── package.json

Langkah 6: Tulis template html (publik/index.html)

Template HTML ini akan berfungsi sebagai dasar untuk aplikasi React Anda. Webpack akan menggunakan templat ini untuk menghasilkan file html akhir dan menggabungkan javascript ke dalamnya.

Buat file publik/index.html

Dalam folder publik, buat file index.html dengan yang berikut:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>React Webpack App</title>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

Mengapa file ini dibutuhkan

  • Bundling Webpack: WebPack menggunakan htmlwebpackplugin untuk secara otomatis menyuntikkan bundel javascript terakhir (bundle.js) ke dalam template html ini. Anda tidak perlu memperbarui file HTML secara manual setiap kali Anda mengubah aplikasi.
  • Instalasi Reaksi:

    Sangat penting karena ini adalah elemen DOM yang diterjemahkan oleh aplikasi React Anda. Bereaksi akan menggunakan reactdom.render (document.getElementById (‘root’)) menginstal komponen root ke div ini.

Dengan menjaga struktur tetap sederhana dan fokus, file ini adalah bagian langsung namun penting dari pack Anda dan pengaturan reaksi.

Langkah 7: Buat file input reaksi (src/index.jsx)

import React from 'react';
import  createRoot  from 'react-dom/client';
const App = () => <h1>Hello, Webpack + React!</h1>;
const container = document.getElementById('root');
const root = createRoot(container);
root.render(<App ></App>);

Langkah 8: Tambahkan skrip ke package.json

Pada langkah ini, Anda akan menambahkan skrip khusus ke paket. JSON dapat dengan mudah menjalankan server pengembangan dan membangun proses.

Perbarui bagian skrip di package.json

Di file package.json Anda, di bawah bagian skrip, tambahkan baris berikut:

"scripts": 
  "start": "webpack serve --config webpack.config.js",
  "build": "webpack --config webpack.config.js"

menjelaskan

  • “Start”: “Webpack melayani -config webpack.config.js” – Skrip ini menjalankan server pengembangan. Saat Anda menjalankan startup NPM (atau startup benang saat menggunakan benang), Webpack akan mulai webpack-dev-server dari webpack.config.js Anda. Dan menggunakan aplikasi di server lokal, biasanya di
  • “Build”: “Webpack -Config Webpack.config.js” – Script ini digunakan untuk membuat build produksi yang dioptimalkan. Saat Anda menjalankan NPM untuk menjalankan build (jika Anda menggunakan benang (jika Anda menggunakan benang), bundel webpack javascript, CSS, dan aset lainnya, mempersempit kode, dan menerapkan optimisasi yang dioptimalkan, seperti menghilangkan overinasi kode mati, membuat aplikasi lebih cepat dan lebih kecil.

Langkah 9: Jalankan aplikasi Anda

Mulai server pengembangan:

NPM dimulai

Kunjungi dan Anda akan melihat:

sebagai kesimpulan

Dalam panduan ini, kami telah berhasil mengatur aplikasi React dari awal menggunakan webpack. Dengan mengonfigurasi Webpack secara manual, kami telah belajar cara menggabungkan kode, menangani JavaScript modern dan JSX dengan Babel, dan menyertakan gaya dalam versi final.

rencana pengembangan website



metode pengembangan website

jelaskan beberapa rencana untuk pengembangan website, proses pengembangan website, kekuatan dan kelemahan bisnis pengembangan website
, jasa pengembangan website, tahap pengembangan website, biaya pengembangan website

#Gunakan #Webpack #untuk #Menguasai #Konfigurasi #Aplikasi #React

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *