Offers a dev middleware for webpack, which arguments a live bundle to a directory
THIS MIDDLEWARE SHOULD ONLY USED FOR DEVELOPMENT!
DO NOT USE IT IN PRODUCTION!
It's a simple wrapper middleware for webpack. It serves the files emitted from webpack over a connect server.
It has a few advantages over bundling it as files:
var webpackMiddleware = require"webpack-dev-middleware";appusewebpackMiddleware;
appusewebpackMiddlewarewebpack// webpack options// webpackMiddleware takes a Compiler object as first parameter// which is returned by webpack(...) without callback.entry: "..."output:path: "/"// no real path is required, just pass "/"// but it will work with other paths too.// all options optionalnoInfo: false// display no info to console (only warnings and errors)quiet: false// display nothing to the consolelazy: true// switch into lazy mode// that means no watching, but recompilation on every requestwatchOptions:aggregateTimeout: 300poll: true// watch options (only lazy: false)publicPath: "/assets/"// public path to bind the middleware to// use the same as in webpackheaders: "X-Custom-Header": "yes"// custom headersstats:colors: true// options for formating the statistics;
This part shows how you might interact with the middleware during runtime:
close(callback) - stop watching for file changes
var webpackDevMiddlewareInstance = webpackMiddleware/* see example usage */;appusewebpackDevMiddlewareInstance;// After 10 seconds stop watching for file changes:setTimeoutwebpackDevMiddlewareInstanceclose;10000;
invalidate() - recompile the bundle - e.g. after you changed the configuration
var compiler = webpack/* see example usage */;var webpackDevMiddlewareInstance = webpackMiddlewarecompiler;appusewebpackDevMiddlewareInstance;setTimeout// After a short delay the configuration is changed// in this example we will just add a banner plugin:compilerapply'A new banner';// Recompile the bundle with the banner plugin:webpackDevMiddlewareInstanceinvalidate;1000;
waitUntilValid(callback) - executes the
callback if the bundle is valid or after it is valid again:
var webpackDevMiddlewareInstance = webpackMiddleware/* see example usage */;appusewebpackDevMiddlewareInstance;webpackDevMiddlewarewaitUntilValidconsole.log'Package is in a valid state';;