UNPKG

1.15 kBJavaScriptView Raw
1var WebpackDevServer = require('webpack-dev-server');
2var webpack = require('webpack');
3
4function setConfigBase(config, base) {
5 config.output.publicPath = base;
6}
7
8function setConfigsBase(config, base) {
9 if (Array.isArray(config))
10 config.forEach(function(config) {
11 setConfigBase(config, base);
12 });
13 else
14 setConfigBase(config, base);
15}
16
17module.exports = function(config, opts) {
18 var hostname = opts.hostname || 'localhost';
19 var base = 'http://' + hostname + ':' + opts.port + '/';
20
21 // set publicPath to point to base path
22 setConfigsBase(config, base);
23
24 var webpackDevServerOpts = {
25 contentBase: opts.dir,
26 quiet: false,
27 hot: opts.hot,
28 progress: true,
29 stats: {
30 colors: true,
31 timings: true
32 }
33 };
34
35 if (opts.debug)
36 console.log(
37 'Webpack Dev Server Opts:'.blue.bold,
38 "\n", webpackDevServerOpts, "\n"
39 );
40
41 var webpackServer = new WebpackDevServer(webpack(config), webpackDevServerOpts);
42
43 console.log('Running Webpack...');
44
45 if (opts.debug)
46 console.log('Webpack server on http://%s:%s', hostname, opts.port);
47
48 webpackServer.listen(opts.port, hostname);
49};
\No newline at end of file