Public
Snippet $2 authored by cephei

Webpack Dev Build Script

Edited
webpack.dev.config.js
/**
 * Created by cephe on 2017/7/8.
 */

const eslintFormatter = require("react-dev-utils/eslintFormatter");
const webpack = require("webpack");
const paths = require("./paths");



module.exports= {
    entry: {
        "common":["moment","pako","g2"],
        "react":["react","react-dom"],
        "antd":["antd"],
        "index.web": [
            require.resolve('react-dev-utils/webpackHotDevClient'),
            require.resolve('react-error-overlay'),
            paths.devPath + paths.sourcePath + "index.web.js"
        ],
        "login.web": [
            require.resolve('react-dev-utils/webpackHotDevClient'),
            require.resolve('react-error-overlay'),
            paths.devPath + paths.sourcePath + "login.web.js"
        ]
    },
    output: {
        path:paths.devPath,
        filename:"./js/[name].js",
        publicPath:"/"
    },
    resolve: {
        extensions: ['.js', '.jsx','.css','.less'],
    },
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: [
                    {
                        loader: require.resolve("babel-loader"),
                        options: {
                            plugins: [

                            ],
                            cacheDirectory: true,
                            presets: ['react', 'es2015','stage-1']
                        }
                    }
                ]
            },
            {
                test: /\.(woff|woff2|eot|ttf|svg)$/,
                use: [
                    {
                        loader: require.resolve("url-loader"),
                        options: {
                            limit: 10240,
                            name: paths.fontPath + "[name].[hash:8].[ext]"
                        }
                    }
                ]
            },
            {
                test: /\.css$/,
                use: [
                    {
                        loader: require.resolve("style-loader")
                    },
                    {
                        loader: require.resolve("css-loader"),
                        options: {
                            importLoaders: 1
                        }
                    }
                ]
            },
            {
                test: /\.less$/,
                use: [
                    {
                        loader: require.resolve("style-loader")
                    },
                    {
                        loader: require.resolve("css-loader")
                    },
                    {
                        loader: require.resolve("less-loader"),
                        options: {
                            lessOptions:{
                                modifyVars: {},
                                javascriptEnabled: true
                            }
                        }
                    }
                ]
            }
        ]
    },
    plugins:[
        new webpack.HotModuleReplacementPlugin(),
        new webpack.optimize.CommonsChunkPlugin({
            name: ["antd","react","common",'manifest'],
            minChunks:Infinity
        }),
        new webpack.HashedModuleIdsPlugin()
    ],
    devtool:"cheap-module-eval-source-map"
};