ami*_*neh 11 javascript session node.js express typescript
我在 javascript 中有一个代码,我正在尝试将其转换为打字稿
route.get('/order', async(req,res) => {
var sessionData = req.session;
if(typeof sessionData.user === 'undefined')
{
res.redirect('/panel/login');
}
Run Code Online (Sandbox Code Playgroud)
这是我曾经在 js 中正常工作的一段代码,但现在我收到以下错误user
:
“会话和部分”类型上不存在属性“用户”
我假设我应该为sessionData
变量和(req, res)
参数添加类型,但我不知道应该为其分配什么类型。
PS:我知道这个问题看起来很重复,但我已经尝试过其他类似问题的解决方案,但没有用
任何帮助,将不胜感激
Kap*_*jza 28
如express-session 类型评论中所述,您必须使用Declaration merging
.
以下是您可以实施Declaration merging
的方法express-session
:
import session from 'express-session';
declare module 'express-session' {
export interface SessionData {
user: { [key: string]: any };
}
}
Run Code Online (Sandbox Code Playgroud)
小智 17
我刚遇到和你一样的问题。这似乎是一个相当新的问题:请参阅此处的解释。
为了解决这个问题,我按照 github 问题中的描述重载了模块:
declare module "express-session" {
interface Session {
user: string;
}
}
Run Code Online (Sandbox Code Playgroud)
只需替换string
为该字段所需的任何类型。
归档时间: |
|
查看次数: |
6780 次 |
最近记录: |