打字稿类型和NPM

时间:2017-06-11 15:14:04

标签: typescript npm definitelytyped

我很高兴NPM现在内置了对导入TypeScript类型包装器的支持。但是,我发现如何保持这些不一致。例如,我尝试导入“node-git”和“@ types / node-git”,虽然两者都有效,但它们似乎是非常不同的API,并且不能很好地协同工作。

此方案中的最佳做法是什么?我应该先导入库的类型包装器,检查它的版本,然后专门导入该版本的库吗?我是否需要快速创建自己的TypeScript包装器(并且它们是否可以由工具生成)?

提前感谢任何见解!

1 个答案:

答案 0 :(得分:1)

没有明确的"最佳做法"。 Imo你应该使用你想要的任何版本的库(即node-git)。如果有一个类型包对应于该版本,那么很好。如果没有,请考虑在DefinitelyTyped中创建PR(假设类型包由DefinitelyTyped维护)。如果您不能等待PR合并,可以将更新的index.d.ts文件添加到项目中,并使用typeRoots编译器选项告诉typescript文件所在的位置。

例如,如果您将更新的类型添加到src/types/node_git/index.d.ts,请将其添加到tsconfig.json

{
    "compilerOptions": {
        "typeRoots": ["src/types", "node_modules/@types"]
    }
}
相关问题