热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

明确指定Express'"应用程序,请求,响应......的类型"

如何解决《明确指定Express'"应用程序,请求,响应的类型"》经验,为你挑选了2个好方法。

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

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

var app = express();

一切正常......但是当我输入类似的内容时,我似乎无法弄清楚如何为app添加类型信息以获取自动完成帮助

app.get('/',function(req,res){});

我尝试使用(和&)注释应用程序(和req&res)Express.Application,但这并没有解决.看一下类型定义,我对如何编写typedef与创建内部"e"引用感到困惑.......Request.Response

感到惊讶我找不到任何人要求和解决这个问题,因为express.d.ts typedef已针对ExpressJS 4.0进行了更新(之前我发现了对ExpressServer的引用,但现在还没有.

想法?



1> Andrew Conne..:

经典案例"一段时间没有成功的事情,但当你最后发出一个问题寻求帮助时,你会立即弄明白".

解决方案:当您要使用其中一种类型时,必须导入模块,因为typedef位于typedef中的命名模块中.

在上面的代码中(位于我的app.ts中),我在app上获得了类型注释.因为我在文件顶部的import语句是import express = require('express');,我可以像这样注释req&res params:

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

在其他文件中,我试图在应用程序上获取类型注释,我错过了文件顶部的import语句.添加后,我可以添加注释,如:

public init(app: express.Application){}



2> Sam..:

如果有人在2017年绊倒这个问题并使用更现代的TS.你应该能够正义npm install @types/express然后它应该工作.


其他人绊脚石,请确保您正在执行“ app = express()”,而不是“ app = new express()”。
推荐阅读
author-avatar
小呀么小果冻
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有