2016-06-23 2 views
1

Electron에서 JS 파일 하나를 트리거하려고합니다. 터미널에서 명령 노드 test.js를 실행하면 정상적으로 작동합니다. Electron에서 같은 것을 시도하면 Uncaught Error: spawn node test.js ENOENT 오류가 발생합니다. 내가 잘못된 길로 가면 나에게 정정 해 줄 수 있니?electron?에서 노드 filename.js 파일을 트리거하는 방법은 무엇입니까?

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

var executeSpawn = spawn('node test.js',{ 
    cwd: process.resourcesPath+'/app/test.js'}); 

executeSpawn.stdout.on('data',function(data){ 
    console.log(`data:${data}`); 
}); 

executeSpawn.stderr.on('data',function(data){ 
    console.log("data:",data); 
}); 

executeSpawn.on('close',function(ev){ 
    console.log("ev",ev); 
}); 

미리 감사드립니다.

답변

0

이 오류 유형을 시도하고 디버그하는 여러 가지 좋은 방법이 포함 된 this answer을 확인하십시오.

0

파티에 매우 늦지 만 노드의 fork은 외부 노드 파일을 실행하기 위해 정확하게 존재합니다.

parent.js

const { fork } = require('child_process'); 

const forked = fork('child.js'); 

forked.on('message', (msg) => { 
    console.log('Message from child', msg); 
}); 

forked.send({ hello: 'world' }); 

child.js

process.on('message', (msg) => { 
    console.log('Message from parent:', msg); 
}); 

let counter = 0; 

setInterval(() => { 
    process.send({ counter: counter++ }); 
}, 1000); 

예 부끄러움 this freecodecamp tutorial on Node.js child processes 찍은.

P .: 첫 번째 대답의 연결된 SO 게시물에 ENOENT에 대한 자세한 정보가 spawn과 관련되어 있습니다.