我试图让Express @types工作但没有任何成功。我使用的是Visual Studio Code,我真的很喜欢使用自动完成功能。到目前为止,我已经看到安装@types也会自动完成。
我做过的事情:
使用npm安装快递:npm i -g express
已安装的快速发电机与npm:npm i -g express-generator
用快速发电机生成项目
cd进入项目
跑npm i
使用npm安装的类型:npm i --save-dev @types/express
//文件顶部:
var express = require(' express');
app.use(function (req, res: Express.Response, next) {
var err: any = new Error('Not Found');
//if I try to use res.end() it gets underlined in red
res.end('some text');
});
正如您所看到的,Express.Response
是由vscode建议的,所以这有点让我感到困惑。你怎么能找到Express.Response类型而不是它的方法?
有趣的'事实上,在普通的js一切都有效。我错过了什么或做错了什么?
这是我的tsconfig.json文件,如果可以提供帮助:
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"baseUrl": "src",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"lib": [
"es2016",
"dom"
]
}
}
任何帮助都将非常感谢!
答案 0 :(得分:0)
由于某种原因,现在import * as express from 'express'
现在给了我正确的completition和类型检查。然而,尝试此之前没有奏效。这很奇怪,无论如何解决它。