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;