[!NOTE] Browserify est un empaqueteur de modules JavaScript d'archives qui a introduit require() et CommonJS dans le navigateur. Les applications modernes utilisent plutôt Vite, esbuild, Rollup ou webpack.
Utilisation en ligne de commande (CLI)
# Compilation simple du bundle
browserify input.js -o output.js
# Appliquer des transformations (transforms)
browserify input.js -o bundle.js -t babelify
# Générer des source maps pour le débogage
browserify input.js -o bundle.js --debug
# Générer un bundle UMD autonome
browserify input.js -s MyLibrary -o bundle.js
# Exclure, ignorer ou marquer des modules comme externes
browserify input.js -u react # --exclude
browserify input.js -x react # --external
browserify input.js -i react # --ignore
API programmatique
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'));
Transformations populaires de l'écosystème
babelify: Transpile le code moderne ES6+ et JSX vers ES5 compatible avec tous les navigateurs.envify: Remplace process.env.NODE_ENV par des chaînes littérales pour éliminer le code mort.brfs: Intègre le contenu des fichiers lus par fs.readFileSync au moment du build.watchify: Surveillance de build incrémentale pour des recompilations instantanées en développement.