web-dev-qa-db-ja.com

webpack-dev-serverが実行されているかどうかを検出する方法は?

webpack.config.jswebpackwebpack-dev-serverを介してロードされたかどうかを確認するにはどうすればよいですか?

18
mpen

Webpack dev server will nowWEBPACK_DEV_SERVER環境変数を設定し、より堅牢なチェック方法を可能にします。

const isDevServer = process.env.WEBPACK_DEV_SERVER;
9
Martin Barksten

どちらか:

const isDevServer = process.argv[1].indexOf('webpack-dev-server') !== -1;

または:

const isDevServer = process.argv.find(v => v.indexOf('webpack-dev-server') !== -1);

または:

const isDevServer = process.argv.find(v => v.includes('webpack-dev-server'));

私は後者を非常に効果的に使用してきました。 1つの構成FTW!

16
bjfletcher

私は1つの潜在的な解決策を見つけました:

var isDevServer = path.basename(require.main.filename) === 'webpack-dev-server.js';

クレジット

7
mpen

または、 Webpack環境変数 を使用します:

// The webpack command line
webpack-dev-server --open --env.devServer

// webpack.config.js
module.exports = env => {
  console.log('isDevServer: ', env.devServer) // true
  ...
}
6
Guillaume