webpack 区分环境

server/2024/10/18 8:35:19/

区分环境 {ignore}

文章目录

  • 区分环境 {ignore}

有些时候,我们需要针对生产环境和开发环境分别书写webpack配置

为了更好的适应这种要求,webpack允许配置不仅可以是一个对象,还可以是一个函数

module.exports = env => {return {//配置内容}
}

在开始构建时,webpack如果发现配置是一个函数,会调用该函数,将函数返回的对象作为配置内容,因此,开发者可以根据不同的环境返回不同的对象

在调用webpack函数时,webpack会向函数传入一个参数env,该参数的值来自于webpack命令中给env指定的值,例如

npx webpack --env abc # env: "abc"npx webpack --env.abc # env: {abc:true}
npx webpack --env.abc=1  # env: {abc:1}
npx webpack --env.abc=1 --env.bcd=2 # env: {abc:1, bcd:2}

这样一来,我们就可以在命令中指定环境,在代码中进行判断,根据环境返回不同的配置结果。

var baseConfig = require("./webpack.base")
var devConfig = require("./webpack.dev")
var proConfig = require("./webpack.pro")
const { merge } = require('webpack-merge');
module.exports = function (env) {if (env && env.prod) {return {...baseConfig,...proConfig} // 这种方式只会复制对象的可枚举属性,并且不会执行getter setter,如果配置很简单的话,这种方式也可以return merge(baseConfig, proConfig); // 推荐}else {return {...baseConfig,...devConfig}}
}

http://www.ppmy.cn/server/24515.html

相关文章

10GMAC层设计系列-(1)10G Ethernet PCS/PMA

一、引言 对于10G以太网MAC层的实现,Xilinx提供了 3种IP核,分别是 10G Ethernet MAC、10G Ethernet PCS/PMA、10G Ethernet Subsystem。 10G Ethernet MAC只包含MAC层,外部需要提供一个PHY芯片进行数据对齐,10G Ethernet MAC与P…

《Beginning C++20 From Novice to Professional》第七章Working with Strings

字符串处理是非常令人关注的领域,因为大部分情况下我们的程序不是在处理数字而是在处理字符串,对于字符串的表示和操作成为编程语言中非常重要的一部分 书里也强调C中对于字符串的处理要好过C风格的char数组,更高效也更安全 本章我们可以学…

基于Lucene的搜索引擎设计与实现:技术总结与展望

论文、答辩资料、源代码见下 引言 在大数据时代背景下,如何快速有效地从海量网络信息中检索出有价值的信息,是当前技术领域面临的一大挑战。本次毕业设计的核心工作是设计并实现一个基于Lucene的搜索引擎,旨在提高信息检索的效率和准确性。…

ubuntu 下 vim 的使用

ubuntu 下 vim 的使用 1. vim 下载 sudo apt-get install vim2. vim 使用命令 打开文件 sudo vim /etc/apt/sources.list //格式为sudo vim 文件位置(精确到文件名称)1.命令模式 i 切换到输入模式,左下角出现–输入– x 删除当前光标所在…

近几年视频取证、视频篡改检测技术发展现状及挑战

前言 本文主要搜集了视频取证各个子领域近几年的高影响因子/引用数的文章及其主要思想和做法,旨在分析目前视频篡改检测的发展现状与热点领域,文章中也融合了自己的一点看法和展望,欢迎感兴趣的同学和我多多沟通。 本文无论是文献搜集还是方…

js中Symbol值的强制类型转换

在JavaScript中,Symbol 是一种原始数据类型,用于表示唯一的、不可变的值。由于 Symbol 的这种独特性,它在强制类型转换时表现出一些特殊的行为。特别注意ES6 允许从符号到字符串的显式强制类型转换,然⽽隐式强制类型转换会产⽣错误…

袁庭新ES系列17节|Spring Data Elasticsearch基础

前言 为了简化对Elasticsearch的操作Spring Data提供了Spring Data Elasticsearch。Spring Data Elasticsearch是Spring Data技术对Elasticsearch原生API封装之后的产物,它通过对原生API的封装,使得程序员可以简单的对Elasticsearch进行各种操作。接下来…

小猫咪邮件在线发送系统源码v1.1,支持添加附件

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 小猫咪邮件在线发送系统源码v1.1,支持添加附件 一款免登录发送邮件,支持发送附件,后台可添加邮箱,前台可选择发送邮箱 网站数据采取本地保存&…