2017-08-25 42 views
1

無法獲得智能爲.ts文件工作。vscode智能感知.js文件node.js的工作 - 而不是.ts文件

test.js

var http = require('http'); 
http.[intellisense available] 

test.ts

var http = require('http'); 
http.[no suggestions] 

似乎並不被閱讀index.d.ts

這裏是tsconfig.json

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "sourceMap": true, 
    "watch": true 
    } 
} 

有什麼建議。真的想使用打字稿,但需要學習節點時提示。不想使用JavaScript。

謝謝。

+0

請確保你已經安裝了'npm install -g typescript'的TypeScript編譯器。 – Amogh

+0

[This](https://code.visualstudio.com/docs/languages/typescript#_tsconfigjson)可以幫助你 – Amogh

回答

1

的節點和第三方模塊VS代碼的JavaScript和打字稿智能感知是通過分型文件(d.ts文件)供電。

在JavaScript代碼中,我們automatically下載這些分型,因爲它們僅用於工具支持。例如,當我們在js文件中看到require('http')時,我們將自動安裝節點類型。這就是爲什麼要在這種情況下

在打字稿代碼的建議,將分型文件必須手動管理,因爲它們是編譯過程的一部分。例如,要安裝節點類型,只需運行npm install --save-dev @types/node。以下是關於@types的更多信息:https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

我懷疑您只需安裝節點類型即可獲得正確的智能感知。

1

學習曲線。

對於.js文件:

var http = require('http'); 

一個的.ts文件:

import http = require('http'); 

的transpiler會寫出來的:var HTTP = ...

「導入」而不是「var」獲取intellisense工作。右鍵點擊「去定義」的作品。

問題解決。

相關問題