webpack4 - 配置文件分离(详细教程)

webpack根据开发和生成环境一般可以将配置文件拆分,拆分dev和prod两种环境

bas 复制代码
|- package.json
  |- /build
    |- webpack.base.js
    |- webpack.dev.js
    |- webpack.prod.js

在scripts里修改相应的命令

javascript 复制代码
"dev": "webpack-dev-server --config build/webpack.dev.js",
"build": "webpack --config build/webpack.prod.js"

使用webpack-merge,用以合并通用配置文件与开发环境配置文件

javascript 复制代码
// webpack.dev.js
const path = require('path');
const webpack = require('webpack');
const merge = require('webpack-merge');
const baseWebpackConfig = require('./webpack.base');

module.exports = merge(baseWebpackConfig, {
  mode: 'development',
  devServer: {
    host: '127.0.0.1',
    port: 80,
    contentBase: path.join(__dirname, 'dist'),
    open: false,
    hot: false,
    disableHostCheck: true,
    proxy: {},
    before () {}
  },
  plugins: [
    // 启用 HMR
    new webpack.HotModuleReplacementPlugin({})
  ]
});
javascript 复制代码
// webpack.prod.js
const baseWebpackConfig = require('./webpack.base');
module.exports = merge(baseWebpackConfig, {
  mode: 'production'
});
相关推荐
guzicheng19902 天前
webpack 安装笔记:全局 vs 本地,以及一个 PATH 环境变量的坑
前端·webpack
liangshanbo121511 天前
面试题:Webpack 的 publicPath 有什么作用?
前端·webpack·node.js
liangshanbo121513 天前
Webpack vs Vite 底层原理高频追问的问题
前端·webpack·node.js
liangshanbo121513 天前
面试题:AI 对话上下文超限怎么办?
面试·webpack·devops
liangshanbo121514 天前
Webpack 文件指纹面试题整理
前端·webpack·node.js
liangshanbo121514 天前
Webpack 常见 Plugin 面试题
前端·webpack·node.js
liangshanbo121514 天前
Webpack Tree Shaking 面试题整理
前端·webpack·node.js
陪我一起学编程14 天前
vue3笔记
前端·webpack·vue3·vite·脚手架·vue3笔记·组件式
liangshanbo121514 天前
Webpack的分包策略面试题
前端·webpack·node.js
liangshanbo121516 天前
面试题:如何优化 Webpack 的打包速度?
前端·webpack·node.js