一、安装

npm install --save-dev cross-env

二、配置步骤

1、修改config下的文件

//test.env.js

'use strict'
module.exports = {
  NODE_ENV: '"testing"',
  ENV_CONFIG: '"test"',
  BASE_API:'"http://10.20.2.177:12120/api"'
}

 //prod.env.js

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  ENV_CONFIG: '"prod"',
  BASE_API:'"http://10.20.2.177:12121/api"'
}

 //dev.env.js

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  ENV_CONFIG: '"dev"',
  BASE_API:'"http://10.20.2.177:12120/api"'
})

 //config/index.js文件修改, build中添加prodEnv, testEnv, devEnv

...
  build: {
    prodEnv: require('./prod.env'),
    testEnv: require('./test.env'),
    devEnv: require('./dev.env'),
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),
...

2、修改build/build.js文件,打包的时候可以显示环境

const spinner = ora('正在打包... ' + process.env.ENV_CONFIG + '环境')

3、配置package.json文件,配置打包命令

 "build--dev": "cross-env NODE_ENV=dev ENV_CONFIG=dev node build/build.js",
 "build--test": "cross-env NODE_ENV=testing ENV_CONFIG=test node build/build.js",
 "build--prod": "cross-env NODE_ENV=production ENV_CONFIG=prod node build/build.js"

4、运行命令就可以实现分环境打包了

npm run build--dev
npm run build--test
npm run build--prod

最后,项目中使用axio根据不同环境配置不同的请求接口地址,就可以实现打包不同环境,调用不同环境地址接口。

02-11 07:31