能否在isProduction模式下阻止创建devServer?是否有必要?
关于Webpack devServer的环境配置问题
1. 能否用三元运算符让生产模式不创建devServer?
完全可以。你可以通过三元运算符判断环境,只在开发模式下生成devServer配置,生产模式下返回undefined或者false,Webpack就不会初始化devServer。修改后的配置代码如下:
module.exports = (env, { mode }) => { const isProduction = mode === 'production'; const isDevelopment = mode === 'development'; return { // 其他Webpack配置... devServer: isDevelopment ? { port: 3000, // https: true, historyApiFallback: true, // proxy: {}, } : undefined, }; };
2. 不配置的话,生产模式下devServer是否原本就不会被创建?
是的,即使你把devServer配置留在代码里,生产模式下它也不会生效。因为webpack-dev-server是专门为开发环境设计的工具,当你执行生产构建命令(比如webpack --mode production)时,Webpack会自动忽略devServer相关配置,不会启动开发服务器,也不会对生产打包的产物产生任何影响。
不过从代码整洁性角度来说,还是建议通过条件判断按需生成配置,避免不必要的冗余代码。
内容的提问来源于stack exchange,提问作者Екатерина
相关产品推荐
相关产品推荐

