Rumah >hujung hadapan web >tutorial js >Pengikat Modul Diterangkan: Webpack, Rollup, Parcel dan Snowpack dengan Contoh
Membina tapak web mungkin kelihatan mudah dengan hanya HTML, CSS dan JavaScript. Tetapi apabila aplikasi anda berkembang, anda memerlukan lebih daripada bahan ini sahaja. Anda mungkin menggunakan TypeScript, perpustakaan UI seperti React, prapemproses CSS seperti SASS atau modul pihak ketiga. Cabaran timbul apabila kebergantungan tidak berfungsi dengan baik bersama-sama, mengakibatkan konflik, fail besar dan masa muat yang perlahan.
Di sinilah pengikat modul masuk. Pengikat modul seperti Pek Web, Gulung, Petak dan Pek Salji membantu anda mengurus dan mengoptimumkan kod anda untuk pembangunan yang lebih lancar dan pantas pengalaman pengeluaran. Dalam blog ini, kami akan meneroka peranan pengikat ini dengan contoh untuk menjadikan konsep lebih mudah difahami.
Satu pengikat modul ialah alat yang mengambil semua kod anda, kebergantungan dan modulnya serta menggabungkannya ke dalam satu atau beberapa fail yang dioptimumkan untuk penyemak imbas. Ini mengurangkan bilangan permintaan HTTP, menambah baik masa muat dan mengurus kebergantungan dengan cekap.
Apabila anda membina aplikasi web moden, anda menghadapi pelbagai cabaran:
Pengikat modul menyelesaikan isu ini dengan:
Mari kita mulakan dengan contoh cara Webpack berfungsi. Katakan anda mempunyai fail index.js ringkas dengan kebergantungan seperti Lodash.
Langkah 1: Mulakan projek baharu.
mkdir my-project cd my-project npm init -y npm install lodash --save
Langkah 2: Cipta fail index.js dalam direktori src.
// src/index.js import _ from 'lodash'; console.log(_.camelCase('hello world'));
Langkah 3: Buat fail index.html di dalam direktori awam.
<!-- public/index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Webpack Example</title> </head> <body> <h1>Webpack Example</h1> <script src="../dist/main.js"></script> </body> </html>
Langkah 4: Pasang Webpack dan Webpack CLI.
npm install webpack webpack-cli --save-dev
Langkah 5: Buat fail konfigurasi Webpack (webpack.config.js).
// webpack.config.js const path = require('path'); module.exports = { entry: './src/index.js', // Entry point of our app output: { filename: 'main.js', path: path.resolve(__dirname, 'dist'), // Output directory }, mode: 'development', // Development mode (use 'production' for production) };
Langkah 6: Tambahkan skrip dalam package.json untuk menjalankan Webpack.
mkdir my-project cd my-project npm init -y npm install lodash --save
Langkah 7: Jalankan Webpack untuk menggabungkan kod.
// src/index.js import _ from 'lodash'; console.log(_.camelCase('hello world'));
Ini akan menggabungkan fail index.js anda dan kebergantungannya ke dalam fail main.js di dalam folder dist. Anda kini boleh merujuk fail ini dalam index.html anda.
Rollup direka untuk menggabungkan perpustakaan JavaScript dan mencipta himpunan yang dioptimumkan untuk projek yang lebih kecil. Tidak seperti Webpack, Rollup memfokuskan pada berkas yang lebih kecil dan lebih cekap dengan mengalih keluar kod yang tidak digunakan (gegaran pokok).
Contoh Persediaan:
<!-- public/index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Webpack Example</title> </head> <body> <h1>Webpack Example</h1> <script src="../dist/main.js"></script> </body> </html>
Buat fail rollup.config.js mudah:
npm install webpack webpack-cli --save-dev
Untuk menggabungkan apl, anda boleh menjalankan Rollup dengan:
// webpack.config.js const path = require('path'); module.exports = { entry: './src/index.js', // Entry point of our app output: { filename: 'main.js', path: path.resolve(__dirname, 'dist'), // Output directory }, mode: 'development', // Development mode (use 'production' for production) };
Rollup adalah lebih mudah dan cekap apabila menggabungkan projek atau perpustakaan yang lebih kecil kerana keupayaannya yang menggegarkan pokok.
Parcel ialah pengikat konfigurasi sifar. Ia secara automatik mengesan dan menggabungkan semua aset yang anda perlukan tanpa fail konfigurasi. Ia mesra pemula dan sesuai untuk projek kecil hingga sederhana.
Contoh Persediaan:
"scripts": { "build": "webpack" }
Dalam index.js:
npm run build
Untuk menjalankan pelayan pembangunan:
npm init -y npm install lodash --save npm install rollup --save-dev
Parcel secara automatik mengendalikan himpunan, muat semula langsung dan pemisahan kod tanpa sebarang konfigurasi tambahan.
Snowpack ialah pengikat moden dan pantas yang hanya membina semula fail apabila perlu. Daripada menyusun segala-galanya pada setiap perubahan, ia menghantar kebergantungan anda terus ke penyemak imbas untuk pembangunan yang lebih pantas.
Contoh Persediaan:
// rollup.config.js import { terser } from 'rollup-plugin-terser'; export default { input: 'src/index.js', // Entry point output: { file: 'dist/bundle.js', format: 'iife', // Immediate function execution name: 'MyApp', }, plugins: [terser()], // Minify the output bundle };
Buat konfigurasi mudah dalam snowpack.config.js:
npx rollup -c
Jalankan Snowpack:
npm init -y npm install parcel-bundler --save-dev npm install lodash --save
Snowpack hanya menyusun fail yang telah berubah, memberikan kemas kini segera semasa pembangunan.
Pengikat modul seperti Pek Web, Gulung, Parcel dan Pek Salji ialah alat penting dalam pembangunan web moden. Ia membantu mengurus kebergantungan, mengoptimumkan kod dan mengurangkan masa muat untuk aplikasi anda. Berikut ialah ringkasan ringkas pengikat:
Dengan memahami cara alat ini berfungsi, anda boleh memilih alat yang paling sesuai dengan keperluan projek anda dan meningkatkan aliran kerja pembangunan web anda!
Atas ialah kandungan terperinci Pengikat Modul Diterangkan: Webpack, Rollup, Parcel dan Snowpack dengan Contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!