Webpack 配置开发环境与正式环境

我在上一篇文章:【Webpack4 创建项目以及打包一个JS文件】 已经搭建过环境以及创建过项目了。

1、创建一个文件夹 webpack,通过命令行 cd 到该文件夹

$ cd /webpack

2、进行初始化

$ npm init

3、如果没有安装 webpack、webpack-cli 可以看顶部文章进行安装。

4、安装 webpack-dev-server

$ npm install webpack-dev-server --save-dev

5、安装完成之后,在当前目录创建一个 main.js 文件,里面随便写的内容:

console.log('dzm');

6、之前文字我们是通过新建一个 webpack.config.js 来进行配置的,其实现在区分环境也差不多是同理,这里我记录两种方式

1)在 package.js 中添加 scripts 配置 serve 跟 build,然后两者分别对应不同的配置文件,配置里面可以单独针对编写配置,这种方式是通过不同配置文件直接进行打包:

"scripts": {
    "serve": "webpack --config build/dev.js",
    "build": "webpack --config build/pro.js",
    "test": "echo \"Error: no test specified\" && exit 1"
 },

dev.js 与 pro.js 里面也只需要一样的写不同配置,可以直接在两份文件中输出不同的打包文件名进行测试:

var config = {
  // 入口文件
  entry: {
    main: './main.js'
  },
  // 输出配置
  output: {
    // 输出得到的文件,文件名可以随意写
    filename: 'xyq.js'
  }
};

文件效果:


2)在 package.js 中添加 scripts 配置 serve 跟 build,通过 webpack-dev-server 传入不同的参数进行区分,当然也可以像上面一样建两个文件进行区分:

"scripts": {
    "serve": "webpack-dev-server --env development --config build/conf.js",
    "build": "webpack-dev-server --env production --config build/conf.js",
    "test": "echo \"Error: no test specified\" && exit 1"
},

然后我们新建在一个 conf.js 文件,可以在里面进行处理,我这边就用到了合并配置文件的操作,所以需要安装一下 webpack-merge

$ npm install webpack-merge --save-dev

conf.js 里面是这么判断使用的,我这边还是保持这 第一种方案的 配置文件区分方式,通过判断环境拿到不同配置文件的配置之后在与公用配置进行合并

// 开发配置
const devConfig = require('./dev')
// 正式配置
const proConfig = require('./pro')
// 合并插件 需要安装 npm install webpack-merge --save-dev
const marge = require('webpack-merge')
// 公用配置
var pubConfig = env => {
  // 这里也可以通过判断 env 进行区分
  return {
    // 入口文件
    entry: {
      main: './main.js'
    },
    // 输出配置
    output: {
      // 输出得到的文件,文件名可以随意写
      filename: 'xyq.js'
    }
  }
};

// 根据判断进行区分环境
module.exports = env => {
  // 这里的 env 就是 pageage.js 里面 --env 后面配置好的参数 development 与 production
  let config = env === 'production' ? proConfig : devConfig
  // 通过判断环境之后得到的配置与公用配置合并
  return merge(pubConfig(env), config)
};

文件效果:

7、上面选一种进行测试配置好之后,运行命令

$ npm run serve
// 或者
$ npm run build
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值