diff --git a/packages/serve/src/parseArgs.ts b/packages/serve/src/parseArgs.ts index 645473870cd..dc90ed969f4 100644 --- a/packages/serve/src/parseArgs.ts +++ b/packages/serve/src/parseArgs.ts @@ -23,8 +23,13 @@ type ArgsType = { * @returns {Object} parsed webpack args and dev server args objects */ export default function parseArgs(cli: WebpackCLIType, args: string[]): ArgsType { - // eslint-disable-next-line node/no-extraneous-require - const devServerFlags = require('webpack-dev-server/bin/cli-flags').devServer; + let devServerFlags; + try { + // eslint-disable-next-line node/no-extraneous-require + devServerFlags = require('webpack-dev-server/bin/cli-flags').devServer; + } catch (err) { + throw new Error(`You need to install 'webpack-dev-server' for running 'webpack serve'.\n${err}`); + } const core = cli.getCoreFlags();