webpack多版本控制方案

项目中有这么一个需求,就是按需启动mock功能。考虑到mock只是在特定情况下,所以考虑通过 cross-env 来处理。

cross-env修改生产环境变量

  1. 我想要的最终效果是npm run dev:mock 来启动mock,所以先安装 cross-env
npm i --save cross-env
  1. 找到 /config/dev.evn.js ,添加MOCK变量
module.exports = {
  MOCK: JSON.stringify(process.env.MOCK) || 'false'
}
  1. 在package.json中配置变量
{
  "scripts": {
    "dev:mock": "cross-env MOCK=true webpack --config build/webpack.config.js"
  }
}
  1. 使用变量
if (process.env.MOCK === 'true') {
  fetchMock.post('https://xxx/user/login', loginAPI.login)
}
  1. 启动MOCK
npm run dev:mock

个人博客:午后南杂

推荐阅读更多精彩内容