gpt4 book ai didi

express - 明确指定 Express 的类型 "application, request, response..."

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:20 25 4
gpt4 key购买 nike

我正在努力更新一个简单的 NodeJS + ExpressJS 应用程序以使用 TypeScript。我已经让它工作了,但我无法添加一些额外的数据注释以在 Visual Studio 和 WebStorm 中添加额外的类型检查和代码时自动完成/IntelliSense。

我有最新的 express.d.ts引用。我还创建了 Express 应用程序:

var app = express();

一切正常...但我似乎无法弄清楚如何为 app 添加类型信息以在您键入类似

的内容时获得自动完成帮助
app.get('/',function(req,res){});

我试过使用Express.Application(和.Request & .Response) 但这并没有解决。查看类型定义,我对创建内部“e”引用的 typedef 编写方式感到困惑...

很惊讶我找不到任何人询问和解决这个问题,因为 express.d.ts typedef 已针对 ExpressJS 4.0 进行了更新(之前我发现了对 ExpressServer 的引用,但今天不存在。

想法?

最佳答案

经典案例“在某件事上工作了一段时间没有成功,但是当你最终发布一个问题寻求帮助时,你马上就解决了”。

解决方法:当你想使用其中一种类型时,你必须导入模块,因为 typedef 位于 typedef 中的命名模块中。

在上面的代码中(位于我的 app.ts 中),我在 app 上获取了类型注释。因为文件顶部的导入语句是 import express = require('express');,所以我可以注释 reqres像这样的参数:

app.get('/', function(req:express.Request, res:express.Response){});

在其他文件中,我试图在 app 上获取类型注释,但在文件顶部缺少 import 语句。添加后,我可以为其添加注释,例如:

public init(app: express.Application){}

关于express - 明确指定 Express 的类型 "application, request, response...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27676884/

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