Soy nuevo en Electron y trato de ayudar a mantener una aplicación cuyo desarrollador se fue. La carpeta de resources/app
consta de (al menos) tres cosas:
app/lib/bundle.js
, que contiene la aplicación completa , empaquetada y minificada. Esto es lo que parece ejecutar realmente la aplicación.node_modules/@mainmodule/submodule/src/.../something.ts
. Cada uno de estos también tiene node_modules/@mainmodule/submodule/package.json
y node_modules/@mainmodule/submodule/tsconfig.json
node_modules/@mainmodule/submodule/src/.../something.js
. La carpeta lib tiene Javascript correspondiente a cada uno de los TypeScript, así como archivos de map
que muestran cómo se corresponden. Son estos archivos Javascript los que se minimizan y se incluyen en el paquete, que en realidad se ejecuta. La fuente TypeScript es relativamente clara y puedo seguir la mayor parte. Pero para entenderlo realmente, necesito establecer puntos de interrupción y ejecutarlo en un depurador (por ejemplo, VS Code). Sin embargo, al ejecutar la aplicación, Electron no la ejecuta desde TypeScript (en src
), o incluso desde Javascript individual (en lib
), sino desde bundle.js
. Bundle.js es un archivo gigante que, además de estar minimizado, es demasiado grande para cargarlo correctamente en mi editor.
¿Cómo puedo decirle a Electron que ejecute la aplicación no desde bundle.js
, sino desde el src/...ts
TypeScript individual o, en su defecto, desde el src/...js
JavaScript individual?
Si eso no es posible, ¿cuál es la forma correcta de usar un depurador, dada la fuente, cuando se incluye la aplicación Electron? Tengo la fuente completa pero, cuando invoco a Electron, se agota el paquete: ¿cómo puedo cambiar esto?
Soy nuevo en Electron y Node, así que si estoy cometiendo un error elemental, aclare.
He progresado mucho en llegar a la fuente, pero no del todo.
La aplicación Electron comienza con electron-main.js
, que carga cosas como server.js
y otros archivos. Todos estos se ejecutan desde la fuente.
Eventualmente, crea una ventana mínima con el siguiente código:
<head> ... <script type="text/javascript" src="./bundle.js" charset="utf-8"></script> </head>
A continuación, bundle.js
se carga en la ventana. Los archivos son demasiado grandes e inescrutables (minificados) para ser de mucha utilidad. Pero, como dije, la fuente también está disponible.
Sin embargo, bundle.map.js
contiene está completo: contiene sources, names, mappings, sourcesContent
, que es suficiente, en principio, para reconstruir todo. Además, para casi todas las sources
, el archivo fuente correspondiente está disponible y es obvio.
Creo que necesito reemplazar el <script type="text/javascript" src="./bundle.js" charset="utf-8"></script>
con un includer.js
que:
/Avance hasta la fecha...