Как уменьшить размер приложения Electron? - PullRequest
1 голос
/ 20 мая 2019

Я начинаю работу с Electron, и я скачал пример проекта для начала работы, и он занимает около 150 МБ.

Что такое скелеты для электронного проекта? Могу ли я удалить папку node_modules? В конце концов мне нужно будет вызвать процесс, но это все.

1 Ответ

0 голосов
/ 20 мая 2019

Используйте веб-пакет и отправляйте только те зависимости, которые требуются приложению.Кроме того, используйте copy-webpack-plugin для копирования файлов, которые не связаны через веб-пакет.

Не отправляйте всю папку node_modules.

Пример конфигурации веб-пакета -

    const path = require('path');
    var CopyWebpackPlugin = require('copy-webpack-plugin');

    module.exports = {
        entry: {
            main: './main.ts',
            renderer: './src/renderer.js',
        },
        devtool: 'inline-source-map',
        output: {
            filename: "[name].js",
            path: path.resolve(__dirname, 'public')
        },
        resolve: {
            extensions: [".tsx", ".ts", ".js"]
        },
        module: {
            rules: [
                {
                    test: /\.js$/,
                    exclude: /(node_modules|bower_components)/,
                    use: {
                        loader: 'babel-loader',
                        options: {
                            presets: ["es2015", "react"]
                        }
                    }
                },
                {
                    test: /\.tsx?$/,
                    use: 'ts-loader',
                    exclude: /node_modules/
                }
            ]
        },
        target: "electron-main",
        bail: true,
        node: {
            __dirname: false,
            __filename: false
        },
        plugins: [
            new CopyWebpackPlugin([
                { from: './index.html' }
            ])
        ]
    };

Таким образом, вышеприведенное создает папку public, которая является вашим окончательным пакетом вывода.

...