bji1

const path = require('path');
const webpack = require('webpack');
// const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const BabiliPlugin = require('babili-webpack-plugin');
const plugin = new ExtractTextPlugin({
    filename : '[name].css',
    ignoreOrder : true //忽略排序
});
const PATHS = {
    app : path.join(__dirname,'app'),
    build : path.join(__dirname,'build')
};

module.exports = {
    devServer : {
        host : process.env.HOST,// 'localhost'
        port : 8088, // 8080
        overlay: {
            errors : true,
            warnings : true
        },
        hotOnly : true // --hot HMR命令
    },
    // devtool : 'eval-source-map',
    performance : {
        hints: 'warning',
        maxEntrypointSize: 500000,// bytes
        maxAssetSize: 450000
    },
    entry : {
        //app : PATHS.app
        index : './app/index.js',
        about : './app/about.js',
        a : './app/a.js',
        vendor : ['react']
    },
    output : {
        path : PATHS.build,
        filename : '[name].js'
    },
    module:{
        rules: [{
            test: /\.js$/,
            enforce: 'pre',

            loader: 'eslint-loader',
            options: {
                emitWarning : true
            }
        },{
            test : /\.css$/,
            exclude: /node_modules/,
            /*
            use : [
                'style-loader',
                {
                    loader:'css-loader',
                    options:{
                        modules: true
                    }
                }
            ],
            */
            use : plugin.extract({
                use: {
                    loader:'css-loader',
                    options:{
                        modules: true
                    }
                },
                fallback : 'style-loader'
            })
        }]
    },
    plugins : [
        // new HtmlWebpackPlugin({
        //     title : 'Webpack demo'
        // }),
        plugin,
        new BabiliPlugin(), //压缩
        new webpack.optimize.CommonsChunkPlugin({ //分离打包
            name: 'vendor'
        }),
        new webpack.HotModuleReplacementPlugin()//配置这个,就可以在pageage.json文件命令hmr省略--hot
    ]
};

 

转载于:https://my.oschina.net/u/1773772/blog/1608822

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值