Joh*_*hnJ 8 express typescript passport.js
我正在使用 Express.js 和 Passport 来开发我的网络应用程序。最近更新项目的依赖项后,我收到此错误:
FILE NAME.ts:LINE NUMBER:CHAR NUMBER - error TS2339: Property 'METHOD_NAME' does not exist on type 'User'.
LINE NUMBER res.json(await req.user.METHOD_NAME());
Run Code Online (Sandbox Code Playgroud)
FILE NAME.ts:LINE NUMBER:CHAR NUMBER - error TS2322: Type 'Express.User' is not assignable to type 'import("models/User").default'.
LINE_NUMBER const user: User = req.user;
Run Code Online (Sandbox Code Playgroud)
我的模型看起来像:
FILE NAME.ts:LINE NUMBER:CHAR NUMBER - error TS2339: Property 'METHOD_NAME' does not exist on type 'User'.
LINE NUMBER res.json(await req.user.METHOD_NAME());
Run Code Online (Sandbox Code Playgroud)
我尝试覆盖请求定义,但它不起作用:
FILE NAME.ts:LINE NUMBER:CHAR NUMBER - error TS2322: Type 'Express.User' is not assignable to type 'import("models/User").default'.
LINE_NUMBER const user: User = req.user;
Run Code Online (Sandbox Code Playgroud)
这些是我的一些依赖项:
"dependencies": {
"@types/express-session": "^1.15.13",
"@types/passport": "^1.0.0",
"@types/passport-local": "^1.0.33",
"@types/sequelize": "^4.28.4",
"express": "^4.17.1",
"express-fileupload": "^1.2.0",
"express-session": "^1.16.2",
"node-fetch": "^2.1.2",
"passport": "^0.4.0",
"passport-local": "^1.0.0",
"sequelize": "^6.6.2",
"sequelize-cli": "^6.2.0",
},
"devDependencies": {
"@types/express": "^4.17.1",
"@types/express-serve-static-core": "^4.17.1",
"@types/node": "^15.12.2",
"@types/node-fetch": "^2.1.1",
"ts-node": "^10.0.0",
"tsconfig-paths": "^3.4.0",
"tslint": "^6.1.3",
"typescript": "^4.3.2"
}
Run Code Online (Sandbox Code Playgroud)
我认为正确的方法是继续通过.d.ts文件覆盖定义,但我无法做到正确。
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |