sto usando file ES6 js che vengono poi compilati da gulp (browserify/babel), esempio di un file ES6 è:Electron & ES6 come implementare richiedono remoto/IPC quando si utilizzano moduli Gulp e ES6
ho un normale app.js che viene utilizzato per impostare la finestra principale, ecc. Quindi le pagine html utilizzeranno un file main.min.js che è sostanzialmente costituito da tutte le mie classi ES6 compilate in un unico file:
loader .es6 del file
import Main from './pages/Main.es6'
new Main()
Main.es6
import Vue from 'vue';
export default class Main extends Vue{
constructor() {...}
.....
}
Quando compilato ed eseguito questo tutto funziona bene e tutto è buono ... Ma, come ho pensato che se voglio realizzare il 'IPC', i moduli 'remoti', sto avendo problemi con la compilazione in quanto non riesce a trovare questi moduli, tramite i metodi require()
o import..
all'interno delle mie classi.
così facendo il seguente esito negativo:
import Remote from 'remote'
import Main from './pages/Main.es6'
new Main()
o
var Remote = require('remote')
import Main from './pages/Main.es6'
new Main()
Questo è possibile fare o raggiungere, o no ha bisogno di più il pensiero e tornare a js normali per favore.
Tutte le idee/consiglio sarebbe grande grazie
EDIT: aggiungere i dettagli di errore
Un file di esempio in questione Main.es6
vedere la var aggiunto var Remote = require('remote')
in alto questo fa sì che il seguente errore.
anche utilizzando import Remote from 'remote'
{ [Error: Cannot find module 'remote' from '/Volumes/DAVIES/ElectronApps/electron-vuejs-starter/resources/js/pages']
stream:
{ _readableState:
{ highWaterMark: 16,
buffer: [],
length: 0,
pipes: [Object],
pipesCount: 1,
flowing: true,
ended: false,
endEmitted: false,
reading: true,
sync: false,
needReadable: true,
emittedReadable: false,
readableListening: false,
objectMode: true,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null,
resumeScheduled: false },
readable: true,
domain: null,
_events:
{ end: [Object],
error: [Object],
data: [Function: ondata],
_mutate: [Object] },
_maxListeners: undefined,
_writableState:
{ highWaterMark: 16,
objectMode: true,
needDrain: false,
ending: true,
ended: true,
finished: true,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: false,
bufferProcessing: false,
onwrite: [Function],
writecb: null,
writelen: 0,
buffer: [],
pendingcb: 0,
prefinished: true,
errorEmitted: false },
writable: true,
allowHalfOpen: true,
_options: { objectMode: true },
_wrapOptions: { objectMode: true },
_streams: [ [Object] ],
length: 1,
label: 'deps' } }
* Come * fallisce? Che aspetto ha la sintassi di esportazione di quel modulo 'remoto'? Indicaci i file esatti (se devi collegarli) invece del tuo intero progetto. – Bergi
Quindi dove si trova il modulo 'remote'? Intendevi './Remote'? – Bergi
la sua parte (credo) del set di moduli pre-integrati di elettroni. Ass che lo esegue in file js nativi come tutto funzionerebbe ... ti permette di accedere al processo e ai moduli dell'elettrone principale come 'var ipc = remote.require ('ipc)', potrebbe non essere ancora possibile, così dovrà usare i normali modi ES5. –