동일한 모듈 또는 객체를 내 하위 프로세스에 제공하는 데 문제가 있습니다. 정상적인 객체를 자식 프로세스로 보낼 방법이 없으므로 ("서버", 소켓 또는 JSON 객체 만 보낼 수 있음), 내 기본 app.js에 필요한 모듈을 만들려고했습니다. , 그것에 필요한 데이터를 설정하고 내 자녀 과정에서, 나는 그것을 필요로합니다.Node.js - 하위 프로세스에서 동일한 모듈 필요
문제는 내 자식 프로세스에서 다른 응용 프로그램을 얻는 것입니다. 응용 프로그램에서 만든 객체가 아닙니다 .js. 난 ...이처럼 사용할 것을 ...
//module file
var Data = function(){
this.data = null;
return this;
};
module.exports = Data;
를 일반 객체를 사용하고의 속성뿐만 아니라 기능을 설정
//app.js
var module = require("moduleName")();
module.data = "something";
을 시도 ... 같은 프로젝트 및 디렉토리에 있지만 내 자식 과정에서 데이터가 여전히 두 파일 (app.js와 자식 프로세스의 파일)
//Child process
var module = require("moduleName")();
console.log(module.data); --> null
널입니다.
내 유일한 gues
내가fork()
내 자식 프로세스를 생성하기 때문에,이 모듈에 대해 다른 캐시 ...
그래서 내가 얻을 수있는 방법이를 사용하여 내 자식 프로세스에서 같은 오브젝트를 받고 있습니다입니다 , 또는 자식 프로세스에 객체 (JSON 아님)를 보내는 방법이 있습니까?
미리 감사드립니다.
감사합니다! 이미 두 사람 사이의 통신 회선을 사용하고 있지만 언급 한 방식이 조금 쉬울 것입니다. :-) 어쨌든, 내가 언급 한대로 달성 할 수 없다는 것을 분명히 밝혀 둔다. – Dave
@Dave 일부 개체가 변경되었다는 것을 자식 프로세스에 알리고 매번 새로운 데이터를 보내는 방법으로 응답을 업데이트했습니다. 다른 방법으로 돌아가서 하위 프로세스에서 부모에게 데이터를 보낼 수도 있습니다. – rsp
네, 이미이 방법을 사용하고 있습니다 만, 기본 및 자식 프로세스 간 통신과 보내기 및 콤보를 통한 통신이 많은 경우 (그리고 주로 하나의 채널이므로 사용), 그것은 자식 프로세스를 느리게 할 수도 있지만 그것은 단지 추측이다. 그래서 (이미 내 app.js에서 사용중인) 자식 프로세스에 몇 가지를 포함시키고 싶었 기 때문에 다른 몇 가지 채널을 제공 할 수있었습니다 (이미 내 앱에서 실행 한 socket.io를 사용하는 것과 같습니다). js) – Dave