Configure test environment and demo environment
1. Create test.env.js file and prod.env.js file under config
'use strict'
module.exports = {
NODE_ENV: '"production"',
ENV_CONFIG:'"test"'
}
module.exports = {
NODE_ENV: '"production"',
ENV_CONFIG:'"prod"'
};
2. Modify config/index.js
commerUrl.js, configure different ip addresses
let _config = process.env.config // ENV_CONFIG
let urlPath = {}
if (_config == 'test') {
urlPath = {URL: '', PORT: ''}
} else if (_config == 'prod') {
urlPath = {URL: '', PORT: ''}
}
module.exports = urlPath
Configure code server
proxyTable: {
'/jwt': {
target: `${commerUrl.URL}:${commerUrl.PORT}`,
changeOrigin: true,
pathRewrite: {
'^/jwt': '/jwt'
},
},
'/api':{
changeOrigin: true,
target: `${commerUrl.URL}:${commerUrl.PORT}`,
pathRewrite: {
'^/api': '/api'
},
},
'/publishTest': {
changeOrigin: true,
target: `${commerUrl.URL}:${commerUrl.PORT}`,
pathRewrite: {
'^/api': '/api'
},
},
'/publishProd': {
changeOrigin: true,
target: `${commerUrl.URL}:${commerUrl.PORT}`,
pathRewrite: {
'^/api': '/api'
},
}
3. Modify build/build.js
var webpackConfig = require('./webpack.prod.conf');
//var spinner = ora('building for ' + process.env.NODE_ENV + '...')
var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.config + ' mode...')
spinner.start()
4. Modify build/webpack.prod.conf.js
//var env = process.env.NODE_ENV === 'production' ? config.build.prodEnv : config.build.sitEnv
const env = config.build[process.env.config + 'Env']
let proxyTableName = ''
if (process.env.config == 'prod') { // 演示环境
proxyTableName = 'publishProd'
} else if (process.env.config == 'test') { // 测试环境
proxyTableName = 'publishTest'
}
new webpack.DefinePlugin({
'process.env': env,
'BASE_URL': `${proxyTableName}`
}),
5. Modify packege.json
"build:test": "cross-env NODE_ENV=production env-config=test npm_config_report=true node build/build.js",
"build:prod": "cross-env NODE_ENV=production env-config=prod npm_config_report=true node build/build.js",