webpack.config.js 1.33 KB
var webpack = require('webpack');

module.exports = {
    entry: {
        main: './src/js/main.js'
    },
    output: {

        // path: './dist/' + packageInfo.version + '/js',
        publicPath: '/js',
        filename: '[name].js'
    },
    profile: true,
    module: {
        loaders: [{
            test: /\.css$/,
            loader: 'style-loader!css-loader'
        }, {
            test: /\.js$/i,
            exclude: /node_modules/,
            loader: 'babel-loader'
        }, {
            test: /\.(png|jpg|gif)$/i,
            loader: 'url?name=[name].[ext]?[hash]&limit=10000'
        }]
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            name: 'libs',
            minChunks: 2 // 如果包被require两次以上,自动合并到 libs 目录
        })
    ],
    babel: {
        presets: [ 'es2015' ],
        plugins: [ 'transform-runtime' ]
    }
};
if (process.env.NODE_ENV === 'production') {
    module.exports.plugins.concat([
        new webpack.DefinePlugin({
            'process.env': {
                NODE_ENV: '"production"'
            }
        }),
        new webpack.optimize.UglifyJsPlugin({
            compress: {
                warnings: false
            }
        }),
        new webpack.optimize.OccurenceOrderPlugin()
    ]);
} else {
    module.exports.devtool = '#source-map';
}