watch mode for browserify builds
Update any source file and your browserify bundle will be recompiled on the spot.
Use watchify with all the same arguments as browserify except that
-o is mandatory:
$ watchify main.js -o static/bundle.js
Now as you update files, static/bundle.js will be automatically re-compiled on
the fly.
You can use -v to get more verbose output to show when a file was written and how long the bundling took (in seconds):
$ watchify browser.js -d -o static/bundle.js -v
610598 bytes written to static/bundle.js 0.23s
610606 bytes written to static/bundle.js 0.10s
610597 bytes written to static/bundle.js 0.14s
610606 bytes written to static/bundle.js 0.08s
610597 bytes written to static/bundle.js 0.08s
610597 bytes written to static/bundle.js 0.19s
All the bundle options are the same as the browserify command except for -v.
var watchify = require('watchify');
var fromArgs = require('watchify/bin/args');Wrap a browserify bundle b with watchify, returning the wrapped bundle
instance as w.
When creating the browserify instance b you MUST set these properties in the
constructor:
var b = browserify({ cache: {}, packageCache: {}, fullPaths: true })You can also just do:
var b = browserify(watchify.args)w is exactly like a browserify bundle except that caches file contents and
emits an 'update' event when a file changes. You should call w.bundle()
after the 'update' event fires to generate a new bundle. Calling w.bundle()
extra times past the first time will be much faster due to caching.
Close all the open watch handles.
Create a watchify instance w from an array of arguments args. The required
constructor parameters will be set up automatically.
When the bundle changes, emit the array of bundle ids that changed.
When a bundle is generated, this event fires with the number of bytes.
When a bundle is generated, this event fires with the time it took to create the bundle in milliseconds.
This event fires to with messages of the form:
X bytes written (Y seconds)
with the number of bytes in the bundle X and the time in seconds Y.
With npm do:
$ npm install -g watchify
to get the watchify command and:
$ npm install watchify
to get just the library.
MIT
