09-webpack5学习-使用webpack-merge区分环境打包

项目结构
webpackMergeConfig
│  package-lock.json
│  package.json
└─webpackConfig
│      webpack.dev.js
│      webpack.pro.js
│      webpack.base.js
└─src
		index.css
        index.js
        index.css

安装依赖

在webpackDevServer目录下运行

npm i webpack webpack-cli html-webpack-plugin css-loader style-loader mini-css-extract-plugin webpack-merge --save-dev
webpack相关配置文件
webpack.base.js
const { resolve } = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
	entry:resolve(__dirname,"../src/index.js");
	output:{
		path:resolve(__dirname,"../dist"),
		filename:"[name].js"
	},
	plugins:[new HtmlWebpackPlugin()]
}
webpack.dev.js
const { merge } = require("webpack-merge");
const baseWebpackConfig = require("./webpack.base.js");
const devWebpackConfig = merge(baseWebpackConfig,{
	mode:"development",
	module:{
		rules:[
			{
				test:/\.css$/i,
				use:["style-loader","css-loader"]
			}
		]
	},
})
module.exports = devWebpackConfig;
webpack.pro.js
const { merge } = require("webpack-merge");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const OptimizeCssAssetsWebpackPlugin = require("optimize-css-assets-webpack-plugin");
const baseWebpackConfig = require("../webpack.base.js");
const proWebpackConfig = merge(baseWebpackConfig,{
	mode:"production",
	module:{
		rules:[
			{
				test:/\.css$/i,
				use:[MiniCssExtractPlugin.loader,"css-loader"]	
			}	
		]
	},
	plugins:[
		new MiniCssExtractPlugin({filename:"[name].css"}),
		new OptimizeCssAssetsWebpackPlugin()
	]
})

本地打包命令

  • 方式一:在webpackMergeConfig目录下运行
// 开发环境
webpack --config ./webpackConfig/webpack.dev.js
// 生产环境
webpack --config ./webpackConfig/webpack.pro.js
  • 方式二:在package.json文件的scripts属性新增如下命令
{
	...
	"scripts":{
		"build":"webpack --config ./webpackConfig/webpack.dev.js",
		"build:pro":"webpack --config ./webpackConfig/webpack.pro.js"
	}
	...
}

修改保存后,在webpackMergeConfig目录下运行如下命令:

// 开发环境
npm run build
// 生产环境
npm run build:pro
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值