{"id":18177,"library":"browserify-middleware","title":"browserify-middleware","description":"Express/Connect middleware for Browserify v2, currently at version 8.1.1. Provides sensible defaults: automatic source maps, file watching in development, minification, gzip, and etag caching in production. Supports serving individual files, directories of files, and npm package bundles with external dependencies for optimized caching. Allows use without Express except for directory serving. Last updated in 2013; depends on browserify >=2.x and uses uglify-js. Compared to alternatives like budo or watchify, it integrates directly as middleware for existing Express apps.","status":"maintenance","version":"8.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/ForbesLindesay/browserify-middleware","tags":["javascript","browserify","middleware","express","connect"],"install":[{"cmd":"npm install browserify-middleware","lang":"bash","label":"npm"},{"cmd":"yarn add browserify-middleware","lang":"bash","label":"yarn"},{"cmd":"pnpm add browserify-middleware","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core dependency for bundling JavaScript modules","package":"browserify","optional":false},{"reason":"Minification in production mode","package":"uglify-js","optional":false}],"imports":[{"note":"Package is CJS only, no ESM support.","wrong":"import browserify from 'browserify-middleware';","symbol":"default","correct":"var browserify = require('browserify-middleware');"},{"note":"The default export is the middleware function itself; no submodule.","wrong":"app.get('/js/bundle.js', browserify.middleware('./client/file.js'));","symbol":"browserify (as middleware)","correct":"app.get('/js/bundle.js', browserify('./client/file.js'));"},{"note":"Pass an array of module names, not separate arguments.","wrong":"browserify('hyperquest', 'concat-stream')","symbol":"browserify (array of packages)","correct":"browserify(['hyperquest', 'concat-stream'])"}],"quickstart":{"code":"var browserify = require('browserify-middleware');\nvar express = require('express');\nvar app = express();\n\napp.get('/js/bundle.js', browserify(__dirname + '/client/main.js', {\n  // options: external, noParse, cache, etc.\n}));\n\napp.listen(3000);\nconsole.log('Server running on port 3000');","lang":"javascript","description":"Sets up an Express server that serves a browserified version of client/main.js at /js/bundle.js."},"warnings":[{"fix":"Consider migrating to modern bundler middleware like budo or webpack-dev-middleware.","message":"Package uses outdated browserify v2 API and may not work with newer Node.js versions.","severity":"deprecated","affected_versions":">=8.0"},{"fix":"Use __dirname to construct absolute paths: browserify(__dirname + '/client/dir')","message":"Directory paths are relative to the calling module, not process.cwd().","severity":"gotcha","affected_versions":"*"},{"fix":"Use the array form only for shared dependencies; use .external option for external referencing.","message":"When passing an array of npm packages, they are bundled into a single file exposing require, not separate entries.","severity":"gotcha","affected_versions":"*"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install browserify --save","cause":"browserify is not installed as a peer dependency.","error":"Cannot find module 'browserify'"},{"fix":"Use: var browserify = require('browserify-middleware');","cause":"Incorrect import: trying to use named export instead of default.","error":"browserify is not a function"},{"fix":"browserify(['module-a', 'module-b']) not browserify('module-a', 'module-b')","cause":"Passed separate arguments instead of array to browserify().","error":"Uncaught Error: module 'xyz' not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}