Node.js의 가장 강력한 점은 '크로스 플랫폼'입니다. 코딩할 때 약간만 주의하면 코드가 Windows, Linux 및 OSX 플랫폼에서 작동합니다. 다음 글에서는 Node.js를 사용하여 크로스 플랫폼 스폰 구문을 작성하는 방법을 주로 소개합니다. 필요한 친구들이 참고할 수 있습니다.
서문
Node.js는 크로스 플랫폼입니다. 즉, Windows, OSX 및 Linux 플랫폼에서 실행될 수 있습니다. 많은 Node.js 개발자는 OSX에서 개발한 다음 코드를 Linux 서버에 배포합니다. OSX와 Linux는 모두 Unix를 기반으로 하기 때문에 공통점이 많습니다. Windows는 Node.js가 공식적으로 지원되는 플랫폼이기도 합니다. 올바른 방식으로 코드를 작성하기만 하면 다양한 플랫폼에서 부담 없이 실행할 수 있습니다.
Node.js의 child_process 모듈 아래에는 시스템에서 명령을 호출하는 데 사용할 수 있는 생성 함수가 있습니다. 예를 들어 Linux, macOS 및 기타 시스템에서는
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' });