如何检测 webpack-dev-server 是否为 运行?
How to detect if webpack-dev-server is running?
如何确定 webpack.config.js
是通过 webpack
还是 webpack-dev-server
加载的?
我找到了一个可能的解决方案:
var isDevServer = path.basename(require.main.filename) === 'webpack-dev-server.js';
credit
任一:
const isDevServer = process.argv[1].indexOf('webpack-dev-server') !== -1;
或:
const isDevServer = process.argv.some(v => v.indexOf('webpack-dev-server') !== -1);
或:
const isDevServer = process.argv.some(v => v.includes('webpack-dev-server'));
我一直在使用后者,效果很好。一种配置 FTW!
或使用Webpack Environment Variables:
// The webpack command line
webpack-dev-server --open --env.devServer
// webpack.config.js
module.exports = env => {
console.log('isDevServer: ', env.devServer) // true
...
}
更新:环境变量为changed至WEBPACK_SERVE
.
webpack 开发服务器 will now 设置了 WEBPACK_DEV_SERVER
环境变量,允许更可靠的检查方式。
const isDevServer = process.env.WEBPACK_DEV_SERVER;
如何确定 webpack.config.js
是通过 webpack
还是 webpack-dev-server
加载的?
我找到了一个可能的解决方案:
var isDevServer = path.basename(require.main.filename) === 'webpack-dev-server.js';
credit
任一:
const isDevServer = process.argv[1].indexOf('webpack-dev-server') !== -1;
或:
const isDevServer = process.argv.some(v => v.indexOf('webpack-dev-server') !== -1);
或:
const isDevServer = process.argv.some(v => v.includes('webpack-dev-server'));
我一直在使用后者,效果很好。一种配置 FTW!
或使用Webpack Environment Variables:
// The webpack command line
webpack-dev-server --open --env.devServer
// webpack.config.js
module.exports = env => {
console.log('isDevServer: ', env.devServer) // true
...
}
更新:环境变量为changed至WEBPACK_SERVE
.
webpack 开发服务器 will now 设置了 WEBPACK_DEV_SERVER
环境变量,允许更可靠的检查方式。
const isDevServer = process.env.WEBPACK_DEV_SERVER;