Cuando se hace clic en un botón en mi aplicación, se genera un proceso secundario mediante la función fork() . Esto funciona según lo previsto, incluso cuando se incluye en un exe en mi carpeta dist (a través de electron-builder ). Sin embargo, cuando muevo la carpeta win-unpacked a otra carpeta para probarla, el proceso secundario no se genera.
La estructura de la carpeta dist es como se muestra:
dist |-.icon-ico |- win-unpacked |- builder-debug.yaml |- builder-effective-config.yaml win-unpacked es donde están todos los archivos principales (como app.asar, app.exe y demás).
Cuando está en mi carpeta de desarrollo principal como esta:
app |-build |-node_modules |-dist |-public |-src El proceso secundario se genera, sin embargo, en la carpeta de prueba que solo contiene dist , el proceso secundario no se genera.
Para generar el proceso hijo he usado:
child = fork(require("path").join(__dirname, "sts/states.js")); En la consola, el __dirname se registra como C:\Users\me\Documents\mainApp\dist\win-unpacked\resources\app.asar\build .
la carpeta sts se encuentra en la carpeta de build .
En realidad, no sé cuál es la razón por la que esto no funciona cuando saco dist de la carpeta de mi app y lo coloco en otra carpeta para probarlo.
Con algo de ayuda de esta respuesta , logré obtener alguna dirección. Yo añadí:
"build": { "extraResources": "node_modules", "files": [ "!node_modules" ] } a mi package.json y ahora está generando el proceso secundario. La desventaja es que el archivo ahora es más grande (1,45 GB).