npm install cross-env --save-dev
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"dev--test": "cross-env env_config=test webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"dev--prod": "cross-env env_config=prod webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"build": "node build/build.js",
"build--test": "cross-env env_config=test node build/build.js",
"build--prod": "cross-env env_config=prod node build/build.js"
},
'use strict'
module.exports = {
DATA_ENVIRONMENT: '"test"',//代码中判断是什么数据环境
API_HOST: '"http://ceshi/"' // 自己测试服务器ip地址
}
module.exports = {
NODE_ENV: '"production"',
DATA_ENVIRONMENT: '"prod"',
API_HOST: '"http://prod/"' // 自己生产服务器ip地址
};
const env = process.env.env_config == 'test'? require('../config/test.env') : require('../config/prod.env')
此处env_config是通过package.json中传递的
"use strict";
const merge = require("webpack-merge");
const testEnv = require("./test.env");
module.exports = merge(testEnv, {
API_HOST: '"/api"'
});
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
API_HOST: '"/api"',
})
proxyTable: {
"/api": {
// 生产--环境
target: process.env.env_config == 'test' ? "http://tapi.asysn1.com" : "http://tapi.asysn.com",
changeOrigin: true, //跨域
pathRewrite: {
"^/api": "/"
}
}
},
new webpack.DefinePlugin({
'process.env': process.env.env_config == 'test' ? require('../config/devt.env') : require('../config/dev.env')
}),
本地访问测试环境:npm run dev--test
本地访问生产环境:npm run dev--prod
打包测试环境:npm run build--test
打包生产环境:npm run build--prod