Я создаю модуль, который экспортирует метод, который может быть вызван несколько раз любым кодом в node.js, используя его. Метод будет вызываться обычно из представлений и выводит некоторые html/css/js. Однако некоторые из этих html/css/js нужно выводить только один раз на страницу, поэтому я хотел бы выводить его только в первый раз, когда модуль вызывается для каждого запроса. Я могу выполнить это при первом вызове модуля, но снова метод моего модуля можно вызывать несколько раз по нескольким запросам на время, когда сервер работает, поэтому я специально хочу запустить только определенный код один раз на страницу ,Вывести что-то один раз за запрос
Кроме того, я хочу сделать это, требуя от пользователя как можно меньше передать мой метод. Если они передают объект запроса при создании сервера, то я могу поместить туда переменную, которая сообщит мне, был ли мой метод уже вызван или нет. В идеале, хотя я бы хотел этого избежать. Я имею в виду что-то вроде следующего внутри моего модуля:
var http = require('http');
http.Server.on('request', function(request, response){
console.log('REQUEST EVENT FIRED!');
// output one-time css
});
Однако это не работает, я предполагаю, что это потому, что я на самом деле не указывает на эмиттер сервера, который был /, возможно, был создан в который первоначально был вызван. Я новичок в node.js, поэтому любые идеи, подсказки или помощь приветствуются. Благодаря!
Вот что я думал, что мне придется делать, но я пытался избежать этого. Спасибо за ответ. – ragamufin