1

我已经为 npm 包编写了类型定义react-sortable-tree。我无法弄清楚我应该如何消费它。这是我尝试过的。

我命名了定义文件react-sortable-tree/index.d.ts(按照Typescript 文档中给出的说明)并将文件名添加到我的tsconfig.json. Typescript 编译器(2.2.1 版)找不到模块的定义。我尝试了两种模块解析方法 ClassicNode但均未成功。

将文件重命名为后react-sortable-tree.d.ts,编译器通过解析方法识别出文件Classic。但是,npm 包中包含其他类型定义文件的模块(例如,redux),编译器无法找到这些包的定义。

使用解析方法Node时,编译器会查找所有包的类型定义,但我已定义的包除外。对于react-sortable-tree包,编译器解析包附带的实际 Javascript 文件的路径并忽略我的定义。因此,不会发生类型检查。

如何编写我的定义,在哪里放置它,以及我应该指定哪些编译器选项以便编译器考虑我的类型定义?

4

1 回答 1

1

这是我为 npm 模块声明文件的设置jison

配置:

"include": [
    "./src/definitions/jison.d.ts",
    "./src/index.ts"
 ]

./src/definitions/jison.d.ts:

declare module Jison
{
    export class Parser {
        constructor(grammar:any);
        generate():string;
        parse(program:string):any;
    }
}
declare module "jison"
{
    export = Jison;
}
于 2017-03-06T10:02:49.120 回答