[!NOTE] Browserify to historyczny bundler modułów JavaScript, który przeniósł require() z Node.js i składnię CommonJS do przeglądarki. Nowoczesne aplikacje korzystają z narzędzi takich jak Vite, esbuild, Rollup czy webpack.
Użycie CLI
# Podstawowa kompilacja pakietu
browserify input.js -o output.js
# Stosowanie transformacji (transforms)
browserify input.js -o bundle.js -t babelify
# Generowanie map źródłowych do debugowania
browserify input.js -o bundle.js --debug
# Generowanie samodzielnego pakietu UMD
browserify input.js -s MyLibrary -o bundle.js
# Wykluczanie, ignorowanie lub oznaczanie modułów jako zewnętrzne
browserify input.js -u react # --exclude
browserify input.js -x react # --external
browserify input.js -i react # --ignore
Programistyczne API
const browserify = require('browserify');
const fs = require('fs');
const b = browserify('src/main.js', { debug: true });
b.transform('babelify', { presets: ['@babel/preset-env'] });
b.bundle().pipe(fs.createWriteStream('dist/bundle.js'));
Popularne transformacje ekosystemu
babelify: Transpiluje nowoczesny kod ES6+ i JSX do wersji ES5 zgodnej z przeglądarkami.envify: Zastępuje process.env.NODE_ENV literałami w celu eliminacji martwego kodu.brfs: Wstawia zawartość plików z fs.readFileSync bezpośrednio do kodu w czasie budowania.watchify: Inkrementalny watcher zapewniający błyskawiczne przebudowy w środowisku dev.