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'
});
相关推荐
Dilettante2587 天前
编译期魔法:自定义 Webpack Loader 将函数调用结果"内联"为静态字符串
webpack·前端工程化
sunny_10 天前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
用户830407130570111 天前
SPA 首屏加载速度慢怎么解决?
vue.js·webpack
codingWhat12 天前
手把手系列之—— 自定义 Loader 和 Plugin
webpack·前端工程化
2301_8169978814 天前
Webpack基础
前端·webpack·node.js
凯里欧文42715 天前
极简版前端版本检测方案
前端·webpack
全马必破三18 天前
Webpack知识点汇总
前端·webpack·node.js
lcc18723 天前
Babel
webpack
光影少年24 天前
前端工程化
前端·webpack·taro
lcc18724 天前
Webpack 高级
webpack