2017-04-25 62 views
1

我試圖獲得Express @types的工作,但沒有取得任何成功。我正在使用Visual Studio Code,我真的很喜歡自動完成工作。到目前爲止,我已經看到,安裝@types它也提供了自動完成。無法獲得Express @types的工作

的事情,我已經做了:
安裝快遞與故宮:與NPM npm i -g express
安裝快遞發電機: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

'res'是響應...和'end'退出響應...而您應該使用'res.send',這裏是文檔:http://www.tutorialspoint.com/nodejs/nodejs_response_object .htm –

+0

反正這不是問題D:send()或end()都不起作用。兩者都以紅色標出。感謝您花時間評論:) – Caius

+0

你有沒有做過'var express = require(「express」);'? –

回答

0

通過自己

出於某種原因,解決現在import * as express from 'express'現在給了我正確的completition和類型檢查。然而,嘗試之前沒有奏效。這很奇怪,但是將它解決就可以了。