[!NOTE] Browserify — это архивный сборщик JavaScript-модулей, впервые перенесший require() из Node.js и формат CommonJS в браузер. В современных проектах обычно используются Vite, esbuild, Rollup или webpack.
Использование CLI
# Базовая сборка бандла
browserify input.js -o output.js
# Применение плагинов трансформации
browserify input.js -o bundle.js -t babelify
# Генерация source maps для отладки
browserify input.js -o bundle.js --debug
# Сборка автономного UMD-бандла
browserify input.js -s MyLibrary -o bundle.js
# Исключение, игнорирование или объявление модулей внешними
browserify input.js -u react # --exclude
browserify input.js -x react # --external
browserify input.js -i react # --ignore
Программный 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'));
Популярные плагины трансформации
babelify: Транспилирует современный ES6+ и JSX в совместимый со старыми браузерами ES5.envify: Заменяет process.env.NODE_ENV строковыми константами для удаления мертвого кода.brfs: Встраивает содержимое файлов из вызовов fs.readFileSync прямо в код сборки.watchify: Инкрементальный наблюдатель для мгновенной пересборки в процессе разработки.