prod.env.js
'use strict'module.exports = { NODE_ENV: '"production"', publicPath: '"http://baidu.com"'}
test.env.js
'use strict'module.exports = { NODE_ENV: '"test"', publicPath: '"http://test.baidu.com"'}
package.json
"scripts": { "start": "webpack-dev-server --config webpack.dev.js", "build:prod": "cross-env NODE_ENV=prod webpack --config webpack.product.js", "build:test": "cross-env NODE_ENV=test webpack --config webpack.product.js"}
webpack.dev.js**
const merge = require('webpack-merge');const base = require('./webpack.base');const testEnv = require('./config/test.env');const prodEnv = require('./config/prod.env');const webpack = require('webpack');const path = require('path');const CNF = { test:testEnv, prod:prodEnv}const env = CNF[process.env.NODE_ENV];const config = merge(base,{ output:{ filename:'[name].js', path:path.resolve(__dirname,'dist'), publicPath:JSON.parse(env.publicPath) }, plugins:[ new webpack.DefinePlugin({ env }) ]})if(process.env.NODE_ENV == 'prod'){ console.log('prod'); config.plugins.push(new webpack.HashedModuleIdsPlugin())}module.exports = config;