gpt4 book ai didi

javascript - 如何从 Express 中间件作为单独的模块返回值

转载 作者:行者123 更新时间:2023-12-03 11:11:45 25 4
gpt4 key购买 nike

我已将服务器设置脚本放入名为 server.js 的单独 js 文件中。我的问题是我不知道如何从 Express 中间件函数获取 cookie_key 的值并将其传递回 index.js 文件。

server.js:

var express = require('express'), 
app = express(),
http = require('http').createServer(app),
cookie = cookieParser = require('cookie-parser'),
url = require('url');

module.exports = {

use_app : function(){
app.use(function (req, res, next) {
var cacheTime = 86400000*7; // 7 days
if (!res.getHeader('Cache-Control'))
res.setHeader('Cache-Control', 'public, max-age=' + (cacheTime / 1000));
next();
});
},

get_app : function(callback){
app.use(cookieParser());
app.get('/id/:tagId', function(req, res){ // parse the url parameter to get the file name
function getkey(err,data){ // get users' session cookie
var cookie_key;
if(err)
{
callback(err);
}
cookie_key = req.cookies["session"];
callback(cookie_key);
}
var filename = req.param("tagId");
res.sendFile(filename+'.html');
});
}

}

index.js:

var server = require('./server'),
server.use_app();
server.get_app(); // how to get the cookie_key when calling this function?
console.log(show_cookie_key_from the module);
if(cookie_key !== undefined)
{
// do something
}

我尝试编写一个回调函数来获取 cookie key ,但我认为它不起作用。

最佳答案

A.B 的回答更新:

var server = require('./server');
server.use_app();
server.get_app(function(cookie){
if(cookie !== undefined)
{
// do something
}
});

但我仍然认为这个设置有一些奇怪的地方,你到底想通过这样拆分应用程序来实现什么目的?

关于javascript - 如何从 Express 中间件作为单独的模块返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com