0
나는이이벤트 이미 터를 사용하기 위해 하나의 모듈을 다른 모듈에 요구하는 방법은 무엇입니까?
const express = require('express')
const app = express()
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(3000,() => console.log('Example app listening on port 3000!')
같은 명시 적 서버 파일을 가지고 있고 내가 알리도록 두 모듈에서 이벤트 이미 터를 사용하려는 tcpserver는
const net = require('net');
const lora_packet = require('lora-packet');
const dataParser = require('./dataParser');
const clients = [];
net.createServer(function(socket) {
socket.name = socket.remoteAddress + ":" + socket.remotePort;
clients.push(socket);
socket.on('data', function(data) {
try {
console.log("Buffer sent by terminal : ");
}catch(err){
console.log("DATA RECEIVING PRODUCED AN ERROR" + err);
}
});
socket.on('end', function() {
clients.splice(clients.indexOf(socket), 1);
//broadcast(socket.name + "has left the cartel.\n");
});
socket.on('error', function (exc) {
console.log("ignoring exception: " + exc);
});
}).listen(8080);
에 대해 다른 포트를 실행하기위한 파일이 서버 중 하나에서 다른 서버로 변경됩니다. 하지만 내가 직면하고있는 문제는 다른 모듈을 필요로하는 이벤트를 발생시키고 순환 종속성을 생성하지 않는다는 것입니다. 이 문제에 어떻게 접근해야합니까? 순환 종속성에 문제가 있거나 node.js 서버에서 사용할 수 있습니까?
목적을 달성하기 위해 순환 종속성을 해결할 수 있습니까?
조심스럽게 수행하면 원형 디프를 사용할 수 있습니다. 그러나 2 개의 서버 사이에서 단일 이벤트 송신기 역할을하는 세 번째 모듈을 만드는 것을 고려하십시오. –
"신중하게 작성한 경우" 이것에 대해 자세히 설명해 주시겠습니까? –
나는 문서가 나보다 훨씬 더 잘 될 것이라고 믿는다. https://nodejs.org/api/modules.html#modules_cycles –