0
私はこのイベントエミッタを使用するために1つのモジュールを別のモジュールに要求する方法はありますか?
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サーバーで使用できますか?
目的を達成するために循環依存性を回避することができますか?
慎重に実行された場合は、円depを使用できます。しかし、2つのサーバー間で単一のイベント・エミッターとして機能する第3のモジュールを作成することを検討してください。 –
「慎重に実行すれば」 これについて詳しく説明できますか? –
私はドキュメントが私よりはるかに優れていると思います:) https://nodejs.org/api/modules.html#modules_cycles –