Node.js 如何使用typescript从express会话写入和读取自定义数据?
我正在尝试将我的数据(如登录名或id)插入会话。 但是,当我编写Node.js 如何使用typescript从express会话写入和读取自定义数据?,node.js,session,express,typescript,types,Node.js,Session,Express,Typescript,Types,我正在尝试将我的数据(如登录名或id)插入会话。 但是,当我编写req.session.login时,typescript返回错误: “对象可能是‘未定义的’。”我尝试了所有方法,并在谷歌上寻找答案,但什么都没找到 这是我的'src/app.ts'包含在简单的开始文件'bin/www.js'中 import * as express from "express"; import * as session from 'express-session'; import * as cookiePars
req.session.login
时,typescript返回错误:
“对象可能是‘未定义的’。”我尝试了所有方法,并在谷歌上寻找答案,但什么都没找到
这是我的'src/app.ts'
包含在简单的开始文件'bin/www.js'
中
import * as express from "express";
import * as session from 'express-session';
import * as cookieParser from "cookie-parser";
let app:express.Application = express();
app.use(cookieParser("sssh!"));
app.use(session({
secret: 'sssssh! That\'s the secret',
name: 'session',
resave: false,
saveUninitialized: true,
cookie: {
path: '*',
maxAge: 60 * 60 * 1000,
expires: new Date(Date.now() + (3 * 60 * 60 * 1000))
}
}));
app.use("/test", (req:express.Request, res:express.Response, next:express.NextFunction)=>{
let ses = req.session;
// Here I want to do something similar to cookies,
//like req.session.login = "login" or ses.login = "login"
res.cookie('name', "lastname");
console.log(req.cookies);
res.send(req.session);
});
如果我没有错的话,这个声明(req.session.login=“login”
)应该在普通的javascript文件中工作。
我肯定我错过了一些重要的东西。除了
cookie
中的path:'*'
之外,您的代码运行良好。如果希望在所有路径上都允许cookie,则应为/
而且,
req.session.login=“login”
工作正常。除了cookie
中的path:'*'
之外,您的代码工作正常。如果希望在所有路径上都允许cookie,则应为/
而且,
req.session.login=“login”
工作正常。我的错误,但不是这个问题。服务器没有使用*
发送会话,但是使用/
我仍然无法使用req.session.myData
我的错误,但这不是问题所在。服务器没有使用*
发送会话,但是使用/
我仍然无法使用req.session.myData