Das Mächtigste an Node.js ist „plattformübergreifend“. Mit ein wenig Sorgfalt beim Codieren funktioniert Ihr Code auf Windows-, Linux- und OSX-Plattformen. Der folgende Artikel stellt hauptsächlich vor, wie man Node.js zum Schreiben plattformübergreifender Spawn-Anweisungen verwendet. Freunde in Not können sich darauf beziehen.
Vorwort
Node.js ist plattformübergreifend, was bedeutet, dass es auf Windows-, OSX- und Linux-Plattformen ausgeführt werden kann. Viele Node.js-Entwickler entwickeln unter OSX und stellen den Code dann auf Linux-Servern bereit. Da sowohl OSX als auch Linux auf Unix basieren, haben sie viele Gemeinsamkeiten. Windows ist auch eine offiziell unterstützte Plattform für Node.js. Solange Sie den Code richtig schreiben, können Sie ihn ohne Druck auf verschiedenen Plattformen ausführen.
Unter dem child_process-Modul von Node.js gibt es eine Spawn-Funktion, mit der Befehle auf dem System aufgerufen werden können. Beispielsweise können wir auf Linux, macOS und anderen Systemen
const spawn = require('child_process').spawn; spawn('npm', { stdio: 'inherit' });
Error: spawn npm ENOENT at exports._errnoException (util.js:855:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32) at onErrorNT (internal/child_process.js:344:16) at nextTickCallbackWith2Args (node.js:455:9) at process._tickCallback (node.js:369:17) at Function.Module.runMain (module.js:432:11) at startup (node.js:141:18) at node.js:980:3
spawn('cmd', ['/c', 'npm'], { stdio: 'inherit' });
spawn('npm', { stdio: 'inherit', shell: true });
const process = require('process'); const { spawn } = require('child_process'); spawn('npm', { stdio: 'inherit', // 仅在当前运行环境为 Windows 时,才使用 shell shell: process.platform === 'win32' });
npm install cross-spawn
const spawn = require('cross-spawn'); spawn('npm', { stdio: 'inherit' });
Ausführlichere Erklärungen zur Verwendung von Node.js zum Schreiben plattformübergreifender Spawn-Anweisungen finden Sie auf der chinesischen PHP-Website!