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'
});
相关推荐
前端大波1 小时前
使用webpack-bundle-analyzer 对 react 老项目进行打包优化
前端·react.js·webpack·性能优化
遗憾随她而去.1 天前
Webpack 面试题
前端·webpack·node.js
为了摸鱼而战2 天前
从10分钟到30秒!Webpack 打包效率优化实战指南
webpack·性能优化
黎明初时5 天前
React基础框架搭建8-axios封装与未封装,实现 API 请求管理:react+router+redux+axios+Tailwind+webpack
javascript·react.js·webpack
哟哟耶耶5 天前
Plugin-webpack内置功能split-chunks-plugin配置打包代码分割
前端·webpack·node.js
嫂子的姐夫5 天前
013-webpack:新东方
爬虫·python·webpack·node.js·逆向
阿珊和她的猫6 天前
`require` 与 `import` 的区别剖析
前端·webpack
jayaccc6 天前
Webpack配置详解与实战指南
前端·webpack·node.js
阿珊和她的猫6 天前
Webpack中import的原理剖析
前端·webpack·node.js
AI前端老薛6 天前
webpack中loader和plugin的区别
前端·webpack