2017-06-11 21 views
2

我很高興NPM現在已經內置了對導入TypeScript類型包裝的支持。但是,我發現這些維護方式存在不一致。例如,我嘗試導入「node-git」和「@ types/node-git」,雖然兩者都起作用,但它們似乎是非常不同的API,並沒有很好地協同工作。Typescript Typings和NPM

這種情況下的最佳做法是什麼?我應該先導入庫的類型包裝器,檢查它的版本,然後專門導入該版本的庫?我是否需要加快創建自己的TypeScript包裝(並且可以通過工具生成)?

在此先感謝您的任何見解!

+2

一個JavaScript庫和打字稿包裝可能來自不同的人兩個不同的項目,大多數JS庫有這樣的因爲並不是所有的js開發者都使用typescript – niceman

+1

作爲「工具生成的」,如果庫被JSDocs很好的記錄下來,那麼也許這個可以做到:https://github.com/englercj/tsd-jsdoc – niceman

+0

這些是有用的評論。謝謝! – blaster

回答

1

沒有定義「最佳實踐」。伊莫你應該使用任何版本的庫(即node-git),你想要的。如果有與該版本對應的類型包,那麼很好。如果不是,請考慮在DefinitelyTyped中創建PR(假定類型包由DefinitelyTyped維護)。如果您不能等待您的公關被合併,您可以將更新的index.d.ts文件添加到您的項目中,並使用typeRoots編譯器選項來告訴打字稿文件的位置。

舉例來說,如果你把你的更新類型src/types/node_git/index.d.ts,然後添加到您的tsconfig.json

{ 
    "compilerOptions": { 
     "typeRoots": ["src/types", "node_modules/@types"] 
    } 
} 
相關問題