我正在使用在DefinitelyTyped/DefinitelyTyped github repo中有声明的npm模块,但模块的类型不完整。如何扩展类型声明?
我已经提出了一个拉请求来获取缺失的声明,但是直到它被接受,我需要有一种方法来暂时扩展不完整的声明。
理想情况下,我希望能够在我的项目根目录中有一个temporaryTypings.d.ts
文件,我可以为我遇到的每种情况添加声明。
我正在使用在DefinitelyTyped/DefinitelyTyped github repo中有声明的npm模块,但模块的类型不完整。如何扩展类型声明?
我已经提出了一个拉请求来获取缺失的声明,但是直到它被接受,我需要有一种方法来暂时扩展不完整的声明。
理想情况下,我希望能够在我的项目根目录中有一个temporaryTypings.d.ts
文件,我可以为我遇到的每种情况添加声明。
您可以安装非DefinitelyTyped源定义,就像你DT的叉:
# (this example is taken from https://www.npmjs.com/package/typings)
# If you need a specific commit from github.
$ typings install d3=github:DefinitelyTyped/DefinitelyTyped/d3/d3.d.ts#1c05872e7811235f43780b8b596bfd26fe8e7760
npm
因为打字稿2可以安装特定混帐回购协议模块为好。
你可以在你的源文件中的任何地方总是有一些project.d.ts
文件。
您可以从/// <reference path="path/to/project.d.ts" />
或tsconfig.json
等某个入口点引用它,并在此处添加适合您的类型。
例如我的全局文件通常包括:
declare module "leftpad" {
var t : any;
export = t;
}
哪位帮我导入我的模块,而不require
。定义文件可用后,您可以使用npm install @types/leftpad --save-dev
进行安装,然后从global.d.ts
文件中删除该模块声明。
好主意,我将如何使用新的npm @types语法来做到这一点? – nhjk
@nhjk'@ types/pkg'也是npm包。我想应该能够发布一个包含更新内容的非官方软件包,或者只需使用带有'npm-link'的本地npm软件包。 – Jokester