![](/img/trans.png)
[英]How should I write types for "dependant" function params in typescript?
[英]How should I use @types with TypeScript 2
到目前為止,我們被用來TSD或(更好的版本吧) 分型
但是現在TypeScript 2提供了新的@types
功能,我應該如何將當前項目轉換為@types?
我有tsd.json(typings.json是一些情況)與所有依賴項,移動到TypeScript 2的步驟是什么?
什么是新的最佳做法? @types是否支持特定版本?
這很簡單。 只需通過npm安裝所需的定義即可。
例如,如果您需要lodash,您可以:
npm install --save @types/lodash
一旦安裝完畢,您就可以立即在項目中使用它。 Typescript將默認從node_modules / @ types文件夾解析已安裝的@types包的類型 。 不再需要tsd.json或typings.json文件。
附加要點:
typeRoots
和types
信息 。 特別要注意這兩點:
typeRoots
中指定了typeRoots ,則只有指定的文件夾將用於類型根。 除非您指定,否則將排除./npm_modules/@types/ 。 types
在tsconfig.json指定,則只有指定的軟件包將被包括在內。 在這里的博客文章中閱讀更多內容。
Typescript 2.0擺脫了以前的打字系統。
現在, Typescript 2.0應默認查看./node_modules/@types
並獲取您作為單獨節點模塊npm install --save @types/react
,例如npm install --save @types/react
(如@David Sherret所述)
當前版本的Typescript 2.0 beta中存在一個錯誤,它不會加載新類型。 手動通過cmd new tsc編譯文件,但VS 2015中沒有IntelliSense支持,並且.ts文件處於編輯模式時沒有顯示錯誤。
要解決此tsconfig.json
,請使用類似的設置修改tsconfig.json
:
{
"compilerOptions": {
// ... other config rows
"typeRoots": [ "node_modules/@types/" ],
"types": [ "jquery", "react", "react-dom", /*... your other types */ ],
}
}
對我來說,手動"types"
聲明幫助解決了這個問題,對於其他人"typeRoots"
幫助。 希望它能節省開發人員的工作時間。
我應該如何將當前項目轉換為與@types一起使用
我絕對建議堅持一段時間。
例如問題仍在修復...僅僅4小時前: https : //github.com/Microsoft/TypeScript/issues/9725#issuecomment-233469422
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.