express app.get函数给出"参数类型与参数不匹配"错误

And*_*ing 6 ide webstorm typescript typescript-typings typescript2.0

以下代码......

app.get('/basic', (req, res) => {
    res.send({message: 'hello'})
})
Run Code Online (Sandbox Code Playgroud)

Argument types do not match parameters在WebStorm 2016.2.4中生成一条消息

参数类型与参数不匹配

我的相关依赖部分package.json是:

"dependencies": {
  "@types/body-parser": "0.0.32",
  "@types/express": "^4.0.33",
  "@types/lodash": "^4.14.34",
  "@types/node": "^6.0.38",
  "body-parser": "1.15.1",
  "dotenv": "2.0.0",
  "express": "4.13.4",
  "lodash": "^4.13.1",
  "typescript": "^2.0.3"
},
Run Code Online (Sandbox Code Playgroud)

当我删除@types/express包时,WebStorm不再提供错误消息,但TypeScript编译器会给出一条error TS2307: Cannot find module 'express'消息.

有没有办法以不同的方式配置它,或者WebStorm只是在追赶TypeScript 2?

And*_*ing 0

编辑:这在 Webstorm v2016.3.1 中自行解决


在此之前,我发现的部分解决方案是以以下方式添加类型声明:

import * as express from 'express'

const app : express.Application | express.Router = express()
Run Code Online (Sandbox Code Playgroud)