webpack.dev.config.js 1.64 KB
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const merge = require('webpack-merge');
const webpackBaseConfig = require('./webpack.base.config.js');
const fs = require('fs');

fs.open('./src/config/env.js', 'w', function(err, fd) {
    const buf = new Buffer('export default "development";');
    fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {});
});

module.exports = merge(webpackBaseConfig, {
    // devtool: '#source-map',
    output: {
        publicPath: '/dist/',
        filename: '[name].js',
        chunkFilename: '[name].chunk.js'
    },
    plugins: [
        new webpack.DefinePlugin({
            PRODUCTION: 'false'
        }),
        new ExtractTextPlugin({
            filename: '[name].css',
            allChunks: true
        }),
        new webpack.optimize.CommonsChunkPlugin({
            name: 'vendors',
            filename: 'vendors.js'
        })
    ],
    devServer: {
        openPage: 'dist/coupon.html',
        proxy: {
            '/ufoPlatform/**': {
                target: 'http://java-ufo-platform.test3.ingress.dev.yohocorp.com',
                changeOrigin: true
            },
            '/ufoPlatform': {
                target: 'http://java-ufo-platform.test3.ingress.dev.yohocorp.com',
                changeOrigin: true
            }
        },
        headers: {
            "Access-Control-Allow-Origin": "*",
            // "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
            // "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
        },
        // disableHostCheck: true
    }
});