12345678910111213141516171819202122232425262728293031323334353637383940 |
- const Webpack = require('webpack');
- const WebpackDevServer = require('webpack-dev-server');
- const webpackConfig = require('../config/webpack.config');
- const chalk = require('chalk');
- const {
- clearConsole,
- startedServerLogger,
- errorLogger,
- junglePort,
- } = require('./utils');
- const isInteractive = process.stdout.isTTY;
- const {host, port: defaultPort} = webpackConfig.devServer;
- function start(port) {
- const devServerOptions = {...webpackConfig.devServer, port};
- const compiler = Webpack(webpackConfig);
- const {host} = devServerOptions;
- const server = new WebpackDevServer(compiler, devServerOptions);
- console.log(chalk.hex('#065279')('Starting dev server...'));
- server.startCallback(function (err) {
- if (err) return errorLogger('Dev server start error');
- isInteractive && clearConsole();
- startedServerLogger(port, host);
- });
- }
- junglePort(host, defaultPort)
- .then(function (port) {
- if (!port) return;
- start(port);
- })
- .catch(function (err) {
- err && err.message && console.log(err.message);
- process.exit(1);
- });
|