[Node.js] cross-spawn으로 터미널 명령어 실행시키기

예전에는 node.js에서 터미널 명령어 실행을 child-process라는 모듈을 이용해서 썼던 기억이 있는데 이번에도 사용하기 위해서 child-process npm page에 들어가 봤더니..?

두둥

대충 느낌적인 느낌으로 "사용하려면 사용해도 되지만 보안적으로 문제가 있을 수 있다~"라는 뉘앙스인 것 같다.

 

그래서 이와 비슷한 다른 모듈을 찾아냈다. 바로 cross-spawn.

설치

npm install cross-spawn

 

사용

import spawn from 'cross-spawn'

// 비동기 실행
const child = spawn('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });

// 동기 실행
const result = spawn.sync('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });