我正在创建一个模块,该模块导出一个方法,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 的新手,因此非常感谢任何想法、线索或帮助。谢谢!