[!NOTE] O Browserify é um empacotador de módulos JavaScript legado que trouxe o require() do Node.js e CommonJS para o navegador. Projetos modernos geralmente utilizam Vite, esbuild, Rollup ou webpack.
Uso da CLI
# Compilação básica de pacote
browserify input.js -o output.js
# Aplicar transformações (transforms)
browserify input.js -o bundle.js -t babelify
# Gerar source maps para depuração
browserify input.js -o bundle.js --debug
# Gerar pacote UMD independente
browserify input.js -s MyLibrary -o bundle.js
# Excluir, ignorar ou marcar módulos como externos
browserify input.js -u react # --exclude
browserify input.js -x react # --external
browserify input.js -i react # --ignore
API programática
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'));
Transformações populares do ecossistema
babelify: Transpila ES6+ moderno e JSX para ES5 compatível com navegadores.envify: Substitui process.env.NODE_ENV por literais para eliminação de código inativo.brfs: Insere o conteúdo estático de chamadas fs.readFileSync em tempo de compilação.watchify: Monitoramento de compilação incremental para recriações ultrarrápidas no desenvolvimento.