2016-11-29 95 views
0

我在打字稿中构建一个npm模块,发布时它将包含生成的.d.ts,'.js'和'.js.map'文件。这个模块将依次依赖于其他模块,例如。 reactreact-dom。现在我的问题是,当有人将我的模块安装到他们的应用程序中时,我如何检查安装应用程序是打字稿还是javascript项目,如果是打字稿项目,我将如何自动安装我模块的typings.json中指定的所需的typings相关性。打字稿npm模块中的第三方依赖关系

如果我在这里采取的方法有问题,那么也欢迎其他任何方法。

回答

1

随着typings,我建议你让你的消费者管理自己的传递依赖。这意味着如果你依靠类型声明文件,不要捆绑任何由类型安装的声明文件。相反,只需捆绑您自己的.d.ts文件,并让消费者通过类型自行安装声明文件。

如果您使用TypeScript 2.0及更高版本,则可以使用npm和@types作为依赖关系。 See more about @types on the official TypeScript blog post

举例来说,如果你依赖于react包,那么你应该只需添加@types/reactdependencies场在package.json