# 🚀Electron主进程进行webpack打包

📅 2023/6/2

# 简单的webpack打包主进程的配置文件

const { resolve, join } = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin")
module.exports = {
    entry: {
        'index':'./index.js' //入口文件
    },
    target: 'electron-main',
    output: {
        filename:'[name].js',
        path: resolve(__dirname, 'build')
    },
    optimization: {
        minimizer: [
            `...`,
            new CssMinimizerPlugin(), //css压缩
        ],
    },
    plugins: [
        //文件移动
        new CopyWebpackPlugin({
            patterns: [
                {
                    from: resolve(__dirname, "xxx.ico"),
                    to: resolve(__dirname, "build/")
                },
                {
                    from: resolve(__dirname, "src/"),
                    to: resolve(__dirname, "build/src/"),
                    globOptions: {
                        ignore: ["**/*.less", "**/*.css.map"],
                    },
                },
                {
                    from: resolve(__dirname, "app.asar.unpacked/"),
                    to: join(__dirname, `build/app.asar.unpacked/`),
                }
            ],
        })
    ],
    mode: 'production'
};