webpack.config.js 1.41 KB
const path = require('path');
const HtmlWebpackPlugin = require("html-webpack-plugin");
const htmlWebpackPlugin = new HtmlWebpackPlugin({
    template: path.join(__dirname, "./public/index.html"),
    filename: "./index.html"
});
var NODE_ENV = process.env.NODE_ENV;
module.exports = {
    mode: NODE_ENV == 'dev' ? "development" : "production",
    entry: path.join(__dirname, NODE_ENV == 'dev' ? "./src/index.js" : "./src/components"),
    output: {
        path: path.join(__dirname, "dist"),
        libraryTarget: 'umd',  //发布组件专用
        filename: "index.js"
    },
    module: {
        rules: [{
            test: /\.(js|jsx)$/,
            use: "babel-loader",
            exclude: /node_modules/
        }, {
            test: /\.css$/,
            use: [
                'style-loader',
                'css-loader'
            ]
        },
        {
            test: /\.(png|jpg)$/,
            use: {
                loader: 'url-loader',
                options: {
                    limit: 100 * 1024, //小于100kb变成base64
                    esModule: false //如果不设置这个HTML中img的路径会出现问题
                }
            }
        },
        {
            test: /\.(woff|woff2|eot|otf|ttf)$/,
            use: ['file-loader']
        }]
    },
    plugins: [htmlWebpackPlugin],
    resolve: {
        extensions: [".js", ".jsx"]
    },
    devServer: {
        port: 8080
    }
};