webpack根据相应打包命令,打包对应的接口地址

项目开发中,一般开发环境会有好几个,并且每个环境对应的接口地址也是不一样的,经常需要根据不用的环境打包出对应的接口地址

需要对3个地方进行修改

第一:


下面的这段代码是新增的prod25.env.js的代码,其实就是把API_ROOT配置成所需要的接口请求路径
'use strict'

module.exports = {

  NODE_ENV: '"production"',

  API_ROOT: '"http://172.16.100.25"'

}

第二:对build文件夹新增对应的js文件


复制一份webpack.prod.conf.js代码,文件名改成webpack.prod25.conf.js,对复制的webpack.prod25.conf.js第14行代码进行修改

由const env = process.env.NODE_ENV === 'testing'

  ? require('../config/test.env')

  : require('../config/prod.env')

改为:

由const env = process.env.NODE_ENV === 'testing'

  ? require('../config/test.env')

  : require('../config/prod25.env')

第三:修改package.json文件

把"scripts": {

    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",

    "start": "npm run dev",

    "unit": "jest --config test/unit/jest.conf.js --coverage",

    "e2e": "node test/e2e/runner.js",

    "test": "npm run unit && npm run e2e",

    "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",

    "build": "node build/build.js",

    "analyz": "NODE_ENV=production npm_config_report=true npm run build"

  }

修改为:"scripts": {

    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",

    "start": "npm run dev",

    "unit": "jest --config test/unit/jest.conf.js --coverage",

    "e2e": "node test/e2e/runner.js",

    "test": "npm run unit && npm run e2e",

    "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",

    "build25": "node build/build25.js",

    "build": "node build/build.js"

  }

最后我们就可以执行对应的命令打包对应环境的接口请求地址了

例如:

npm run build 就是执行config文件夹的prod.env.js的配置

npm run build25 就是执行config文件夹的prod25.env.js的配置

后续如果需要增加其他环境配置,就按照文章流程增加配置

说明:webpck3.0+vue-cli 2.0

你可能感兴趣的:(webpack根据相应打包命令,打包对应的接口地址)