1、config/目錄中複製 prod.env.js 修改成test.env.jshtml
'use strict' module.exports = { NODE_ENV: '"testing"', ENV_CONFIG: '"test"' }
2、prod.env.js 修改node
'use strict' module.exports = { NODE_ENV: '"production"', ENV_CONFIG: '"prod"' }
3、dev.env.jswebpack
module.exports = merge(prodEnv, { NODE_ENV: '"development"', ENV_CONFIG: '"dev"' })
4、config/index.js文件修改, build中添加prodEnv, testEnv, devEnvweb
... build: { prodEnv: require('./prod.env'), testEnv: require('./test.env'), devEnv: require('./dev.env'), // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), ...
5、build/webpack.prod.conf.js文件修改,修改envnpm
// const env = process.env.NODE_ENV === 'testing' // ? require('../config/test.env') // : require('../config/prod.env') const env = config.build[process.env.ENV_CONFIG+'Env'] console.log(env, process.env.ENV_CONFIG, '環境變量')
6、修改build/build.js文件,打包的時候能夠顯示環境json
const spinner = ora('正在打包... ' + process.env.ENV_CONFIG + '環境')
7、配置package.json文件,配置打包命令ui
"build": "node build/build.js", "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"
8、運行命令就能夠實現分環境打包了code
npm run build--dev npm run build--test npm run build--prod
最後,項目中使用axio根據不一樣環境配置不一樣的請求接口地址,就能夠實現打包不一樣環境,調用不一樣環境地址接口。htm