È una buona idea rendere disponibili in tutto il mondo le librerie di Electron comuni su Windows? [chiuso]

-1

Costruisco ed eseguo molte app di Electron su Windows. Ho notato che tutti hanno gli stessi file / librerie di API comuni da eseguire. Prendono tutti circa 30mb di spazio.

Sto pensando di installare questi file nel sistema, magari spostandoli nella cartella system32 o nel GAC e quindi rimuovendoli da tutte le mie app di elettroni.

Avrei un pacchetto di installazione per i file di elettroni, diciamo "dipendenze di elettroni" un po 'come un normale pacchetto di redist che può essere installato, e una volta lì, tutte le app di Electron funzionano usando gli stessi file con dimensioni molto più ridotte .

Questo funzionerebbe davvero? Eventuali inconvenienti o pensieri su questo?

Credo che in futuro Microsoft potrebbe supportare Electron (lo fanno già con VSCode e forse con il loro nuovo Chrmoium Browser) includendo queste librerie su Windows fuori dalla scatola.

    
posta raphadko 12.12.2018 - 22:01
fonte

1 risposta

3

No.

Dal tutorial di elettroni :

At this point, you'll need to install electron itself. The recommended way of doing so is to install it as a development dependency in your app, which allows you to work on multiple apps with different Electron versions.

Questo è un chiaro consiglio che se si tenta di installare le librerie Electron una sola volta all'interno della cartella system32 o in un posto centrale simile, e non all'interno della cartella di ciascuna applicazione, non è possibile mescolare facilmente versioni differenti. Peggio ancora, potresti produrre conflitti di versione con altre app di Electron in cui non sei l'autore e che sicuramente usano una versione di Electron diversa dalle tue app.

Quindi non fare lo stesso errore di Microsoft diversi anni fa, quando fornivano solo un MFC.DLL e un MSVCRT.DLL direttamente nella cartella di sistema di Windows, permettendo a ciascun programma di installare una versione più recente di quelle DLL sostituendo i vecchi (e talvolta sostituendo le versioni più recenti con quelle più vecchie). Ciò ha causato così tanti problemi che questo fenomeno ha ricevuto il nome " diavolo DLL ".

Naturalmente, oggi, i moderni sistemi Windows hanno mezzi e convenzioni per fornire versioni diverse delle stesse librerie e delle stesse strutture in parallelo. Ad esempio, la cache di assembly globale (GAC) che hai menzionato è stata progettata in modo specifico per evitare conflitti di versione. Ma il suo utilizzo è limitato alle librerie .NET ("assembly"), e AFAIK Electron è basato su node.js, non su .NET framework, quindi è meglio seguire le istruzioni dal loro manuale.

    
risposta data 12.12.2018 - 23:34
fonte

Leggi altre domande sui tag