Как определить, была ли загружена webpack.config.js
через webpack
vs webpack-dev-server
?
Как определить, запущен ли webpack-dev-сервер?
Ответ 1
Сервер разработки веб-пакетов теперь устанавливает переменную среды WEBPACK_DEV_SERVER
, что обеспечивает более надежный способ проверки.
const isDevServer = process.env.WEBPACK_DEV_SERVER;
Ответ 2
Или:
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'));
Я использую последнее для большого эффекта. Одна конфигурация FTW!
Ответ 3
Я нашел один потенциальный солитон:
var isDevServer = path.basename(require.main.filename) === 'webpack-dev-server.js';
Ответ 4
Или используйте переменные среды Webpack:
// The webpack command line
webpack-dev-server --open --env.devServer
// webpack.config.js
module.exports = env => {
console.log('isDevServer: ', env.devServer) // true
...
}