2016-03-15 39 views
22

我試圖在Microsoft guide之後的Visual Studio代碼中設置一個TypeScript express/node應用程序,但將其更改爲使用TypeScript,但是當涉及到使用typings安裝類型定義時,我似乎必須安裝比指南更多的軟件包。在TypeScript中導入節點並用類型表示

我正在下面對命令:

typings install node --ambient --save 
typings install express --ambient --save 

但是試圖建立與只是那些包提供了以下類型的錯誤:

error TS2307: Cannot find module 'serve-static'. 

對於下面的分型:

  • mime
  • express-serve-s tatic核心
  • 服務靜電

我可以通過安裝所需的分型解決這一點,但它看起來像是分型應自行完成。

我想檢查一下是否缺少自動引入依賴關係的基本步驟,或者引導過時了嗎?

在情況下,它是相關的,我tsconfig.json:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "module": "commonjs", 
     "sourceMap": true, 
     "outDir": "bin", 
     "sourceRoot": "src" 
    }, 
    "exclude": [ 
     "node_modules", 
     "typings/browser.d.ts", 
     "typings/browser" 
    ] 
} 

我TSC是1.​​8.7版本,我已經安裝了全球的打字稿。

+1

如果它今天拉開環境聲明,它會很好,但目前它不會,它可能不會改變。看到[這個問題](https://github.com/typings/typings/issues/113)以及[這個評論](https://github.com/typings/typings/issues/281#issuecomment-192551121) – cdbajorin

+0

只是側面說明,「環境」現在已被棄用:'typings ERR!不建議使用「環境」標誌。請使用「全局」來代替# – Musa

回答

27

由於打字稿2.0上個月發佈的,用於安裝分型的推薦工具是我們值得信賴老朋友npm而不是typingstsd

npm install @types/node --save 

有了npm,就沒有必要擔心「全局」或「環境」安裝了。

您也不必擔心將<reference>標籤添加到源文件的頂部了;剛落,下面的屬性到您的compilerOptionstsconfig.json,和打字稿編譯器會自動查找您已經安裝了NPM分型:

"typeRoots": [ "node_modules/@types" ] 

這裏有一個博客文章,解釋在一些細節的變化:https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

+4

'@ types'modules被定義爲typescript 2中typedeclarations的默認值。由於這個原因''typeroots「:[」node_modules/@ types']'是不必要的,只要它是唯一的鍵入文件夾。 –

+1

這是不可思議的!什麼是生活保護程序,類型已成爲屁股的痛苦 – Angad

+1

我沒有時間看TypeScript很長一段時間,但這似乎現在對我來說很有用,我已將它更改爲接受的答案。 – Underscore

8

我聯繫的教程,現已更新爲包括下列命令:

typings install node --ambient 
typings install express serve-static express-serve-static-core --ambient 

見@cdbajorin的comment有關爲何依賴不會被自動下載信息。

+8

_-- ambient_已更名爲_-- global_ in [typings-1.0.0](https://github.com/typings/typings/releases/tag/v1.0.0) –

+2

另外(據我所知)安裝的默認存儲庫現在是npm。有一個名爲env的新存儲庫,其中包含環境的類型聲明(如節點)。我用: 'typings install [email protected] --save --global' 不確定全局依賴關係的情況是否因此而改變。 –

1

節省大家頭疼,魔術命令來獲取節點的分型,現在是:

typings install node --source env --global --save

相關問題