Электрон / модуль ws, работающий в локальной сборке, не найден в сборке выпуска

#javascript #node.js #typescript #electron

Вопрос:

Я хочу запустить сервер websocket в качестве прокси-сервера, который будет взаимодействовать с расширением chrome в моей электронной основной. Все работает так , как ожидалось, когда я запускаю свое приложение npm start , но после того, как я упаковал его с помощью electron-builder и попытался запустить полученный файл .exe, он выдает ошибку: модуль «ws» не найден.

Для справки, я запустил приложение из этого шаблона: https://github.com/maximegris/angular-electron.

Код:

прокси.ts

 import * as WebSocket from 'ws';

export class ProxySocket {

    private wss: WebSocket.Server;
    private ws: WebSocket;

    constructor(config: WebSocket.ServerOptions) {
        this.wss = new WebSocket.Server(config);
        this.prepare();
    }

    private prepare() {
        this.wss.on("listening", (ws: WebSocket) => {
            console.log(`Websocket started at port ${config.port}`);
            this.ws = ws;
        });

        this.wss.on("connection", (ws: WebSocket) => {
            ws.on('message',  (msg) => {
                const message = msg.toString('utf-8');
                console.log(message);
            });
        });
        
    }
}
 

main.ts

 import { ProxySocket } from './proxy';

const proxyConfig = {
  port: 14800
}
const proxyWs = new ProxySocket(proxyConfig);

 

записка
Когда я начал писать этот вопрос, та же самая точная сборка, которая просто выбросила эту ошибку просто из ниоткуда, работает после того, как я много раз повторял одну и ту же ошибку, ничего не меняя. Мне все еще интересно, что могло стать причиной этого.