2017-05-02 4 views
0

Ich versuche Kommandozeilenfunktionen in einem Verzeichnis zu laufen, während ein Web-Anwendungs-Hosting, aber wenn ich versuche, den folgenden Code ausführen kann, wirft es „Kann Modul‚child_process‘nicht lösen“:So verwendet child_process in webpack

var exec = require('child_process').exec; 

Es ist mit webpack läuft.

Antwort

1

Es ist mit webpack läuft.

Meinst du es wurde mit Webpack gebündelt?

In beiden Fällen, wenn Sie versuchen, das child_process-Modul zur Verwendung clientseitig zu bündeln, werden Sie nicht in der Lage sein. Es benötigt den Knoten-Kern, um ausgeführt zu werden, da er einen neuen Prozess auf der OS-Ebene hervorbringt. Es wird nicht automatisch einen WebWorker oder irgendein Browser-Äquivalent erzeugen.

Die oben ist für den anderen Knoten Kern-API ist wahr, sie sind einfach nicht tragbar, da sie existieren, sind sie gemeint serverseitige ausgeführt werden soll. This github repo enthält eine Liste der Node.js-Core-APIs, die in den Browser portiert wurden.

+0

Vielen Dank, @peteb! –

0

Sie müssen sicherstellen, dass child_process nicht im Bündel enthalten ist. Fügen Sie es als ein externes hinzu, indem Sie zu Ihren webpack.config.js Optionen folgendes hinzufügen:

externals: [ 
    'child_process' 
    ] 
Verwandte Themen