tutorial principiantes para nodejs node libro examples español desde desarrolloweb cero javascript node.js module eventemitter

javascript - principiantes - node.js eventEmitter: escucha los eventos en los archivos



node js examples (1)

Recién comenzando en Node.js, tengo la siguiente consulta:

Tengo un siguiente javascript en mi archivo server.js:

=============================================== ==

function onRequest(request, response) { var pathname = url.parse(request.url).pathname; route(handle, pathname, response); console.log("Request for " + pathname + " received."); } var server = http.createServer(onRequest) server.listen(8888); console.log("Server started")

=============================================== =============

Tengo otro archivo js, ​​donde quiero registrar un oyente para el evento de "escucha" emitido por el servidor, o para el caso, cualquier evento emitido por el servidor.

No puedo cambiar el archivo original para exportar el objeto del servidor.

¿Hay alguna forma en que pueda lograr mi objetivo?


Querrá pasar el objeto del servidor a su otro módulo como a continuación o querrá exponer una función en su otro módulo que luego puede asignar como oyente en el módulo principal. De cualquier manera funcionaría. Depende de dónde desee que sea la llamada .on .

// app.js var otherModule = require(''./other-module.js''); function onRequest(request, response) { var pathname = url.parse(request.url).pathname; route(handle, pathname, response); console.log("Request for " + pathname + " received."); } var server = http.createServer(onRequest); otherModule.init(server); server.listen(8888, function () { console.log("Server started"); }); // <-- Passing in this callback is a shortcut for defining an event listener for the "listen" event.

// other-module.js exports.init = function (server) { server.on(''listen'', function () { console.log("listen event fired."); }); };

En el ejemplo anterior configuro dos oyentes de eventos para el evento de listen . El primero se registra cuando pasamos una función de devolución de llamada a server.listen . Eso es solo un atajo para hacer server.on(''listen'', ...) . El segundo controlador de eventos está configurado en other-module.js, obviamente :)