rollup.js: modul modul javascript generasi akan datang
kelebihan menggunakan rollup.js:
Pemasangan:
rollup.js memerlukan node.js v8.0.0 atau lebih baru. Anda boleh memasangnya secara global:
npm install rollup --global
npm install rollup --save-dev
untuk melaksanakan arahan. Sebagai alternatif, tentukan arahan rollup dalam skrip npx rollup
anda: package.json
"scripts": { "watch": "npx rollup ./src/main.js --file ./build/bundle.js --format es --watch", "build": "npx rollup ./src/main.js --file ./build/bundle.js --format es", "help": "npx rollup --help" }
atau npm run watch
. Tutorial ini terutamanya menggunakan npm run build
untuk keserasian yang lebih luas. npx rollup
Contoh mudah:
mari kita buat contoh jam digital asas untuk menggambarkan fungsi Rollup. Anda boleh memuat turun contoh fail dari GitHub atau mencipta mereka secara manual.
import * as dom from './lib/dom.js'; import { formatHMS } from './lib/time.js'; const clock = dom.get('.clock'); if (clock) { console.log('initializing clock'); setInterval(() => { clock.textContent = formatHMS(); }, 1000); }
export function get(selector, doc = document) { return doc.querySelector(selector); } export function getAll(selector, doc = document) { return doc.querySelectorAll(selector); }
function timePad(n) { return String(n).padStart(2, '0'); } export function formatHM(d = new Date()) { return timePad(d.getHours()) + ':' + timePad(d.getMinutes()); } export function formatHMS(d = new Date()) { return formatHM(d) + ':' + timePad(d.getSeconds()); }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Rollup.js testing</title> <meta name="viewport" content="width=device-width,initial-scale=1" /> </head> <body> <h1>Clock</h1> <time class="clock"></time> <🎜> <🎜> </body> </html>
Ini mencipta
. Perhatikan bahawa fungsi yang tidak digunakan dikeluarkan melalui gegaran pokok. Rujukanfail ini dibundel.
pilihan konfigurasi rollup.js utama:
--file
atau -o
: Menentukan nama fail output. --format
: Menjana peta sumber untuk debugging yang lebih mudah (gunakan -f
untuk peta sumber sebaris). iife
es
cjs
atau umd
: jam tangan untuk perubahan fail dan membina semula secara automatik. amd
system
--sourcemap
). --sourcemap inline
--watch
Fail konfigurasi (rollup.config.js): -w
--config
-c
rollup.config.js
Jalankan dengan: plugin:
extensibility Rollup berasal dari sistem pluginnya. Plugin biasa termasuk:
npm install rollup --global
npx rollup --config
: Mengendalikan resolusi modul Node.js.
: Menukar modul Commonjs ke modul ES.
: menggantikan token dalam kod anda semasa proses binaan.
@rollup/plugin-node-resolve
@rollup/plugin-commonjs
@rollup/plugin-replace
. Sertakan mereka dalam array @rollup/plugin-buble
rollup-plugin-terser
npm install <plugin-name> --save-dev</plugin-name>
Pembolehubah persekitaran: plugins
Gunakan pembolehubah persekitaran (mis., rollup.config.js
berbilang bundle: Konfigurasi rollup untuk menghasilkan pelbagai berkas dari titik kemasukan yang berbeza.
NODE_ENV
rollup.js menyediakan cara yang kuat dan fleksibel untuk membungkus modul JavaScript anda. Dengan memahami ciri terasnya dan ekosistem plugin, anda boleh membuat aplikasi JavaScript yang sangat dioptimumkan dan dikekalkan. Ingatlah untuk berunding dengan dokumentasi Rollup.js rasmi untuk maklumat yang paling terkini dan senarai plugin yang komprehensif. Atas ialah kandungan terperinci Pengenalan kepada Rollup.js JavaScript Bundler. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!