2016-02-15 10 views
14

Sto provando a utilizzare Visual Studio (non VSCode) per creare una semplice app Electron. Lo sto facendo tramite gli strumenti Node.js per l'estensione Visual Studio (v1.1). Sto usando l'applicazione di avvio rapido di base che funziona bene se io lancio tramite Start NPM, ma se io lancio tramite Visual Studio, ho il seguente errore in fase di start up:Creazione di un'app Electron utilizzando Visual Studio (non VSCode) con gli strumenti Node.js

'Impossibile trovare il modulo 'elettrone' su la prima linea:
const electron = require('electron');

Posso dire a Visual Studio per lanciare l'applicazione Electron prima di iniziare è node.js debugger? Qualcun altro ha ottenuto questo set up per funzionare a tutti?

risposta

33

Questo è possibile. Prova a fare le seguenti operazioni:

  • Creare un'app console JavaScript Node.js vuota in Visual Studio. Ti serve una versione recente del nodo installato : Ho 5.6.0. Utilizzo VS 2015.
  • Aggiungere una sezione delle dipendenze al pacchetto. Json creato e all'elettrone di riferimento . Ho fatto riferimento 0.36.2, come di seguito come questo è la versione ho usato:

    "dipendenze": { "electron-prebuilt": "0.36.2"},

  • Questo pone una voce in Solution Explorer sotto npm, quindi per installarlo è possibile fare clic con il pulsante destro del mouse/installare il pacchetto npm (oppure attivare un prompt del comando e installare npm).
  • Copia il codice da electron-quick-start su GitHub: crea un index.html uguale a quello su GitHub e incolla il contenuto main.js di avvio rapido in app.js. Non è necessario rinominarlo.
  • Passare alle proprietà del file di progetto dell'app della console. Dove dice "Node percorso exe:" inserisci il percorso di electron.exe che è stato installato, che si trova nella sottocartella node_modules \ electron-prebuilt \ dist \ electron.exe.
  • Inserisci un punto di interruzione sulla prima riga di createWindow nell'app.js.
  • Inizia nel debug: si interromperà al punto di interruzione e se continuate mostrerà l'app di elettroni di base.

Questo è tutto a posto, ma quanto è utile dipende da ciò che desideri veramente che Visual Studio faccia per te. Si interromperà solo sul thread principale, sebbene sia possibile eseguire il debug dei thread di rendering utilizzando gli strumenti di Chrome Id come al solito. Trovo che le applicazioni per strumenti di nodo siano un po 'limitanti. Forse uno degli altri tipi di progetto sarebbe migliore.

Modifica maggio 2017: Questo funziona ancora con Visual Studio 2017 e di elettroni 1.6.6 e la corrente electron-quick-start, così come Electron's own quick start code. Ora puoi installare "electron" invece di "electron-prebuilt" ("dipendenze": {"electron": "1.6.6"},).

Modifica novembre 2017: questo approccio ha smesso di funzionare con electron 1.7.xe successive. Funziona ancora nelle versioni 1.6.x dell'elettrone, che l'elettrone sta ancora rilasciando. Nelle versioni 1.7.xe successive è possibile seguire i passaggi precedenti ma Visual Studio non si interromperà immediatamente all'avvio del debug.Invece dovrai aggiungere:

  • Aggiungi '--inspect-brk' sotto 'Opzioni di Node.exe in Proprietà progetto.
  • Start di debug
  • In Visual Studio do Debug/Connetti a processo, connettersi al processo websocket Webkit 'http://127.0.0.1:5858'
  • Il codice dovrebbe rompere e si può colpire continuare.

Altri dettagli e immagini sono in un altro answer on Stack Overflow.

+0

Funziona perfettamente con l'ultimo elettrone (1.26) – Jerry

+0

Provato con l'elettrone 1.3.3 ma i punti di interruzione non hanno mai colpito. Eventuali suggerimenti? – Frank

+2

Per Visual Studio 2017 ho dovuto anche selezionare l'opzione "Avvia il browser all'avvio". –

Problemi correlati