Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Typescript 2:节点_模块中的自定义类型定义_Javascript_Typescript_Typescript Typings - Fatal编程技术网

Javascript Typescript 2:节点_模块中的自定义类型定义

Javascript Typescript 2:节点_模块中的自定义类型定义,javascript,typescript,typescript-typings,Javascript,Typescript,Typescript Typings,假设我发布了一个名为mylibrary的自定义库。这个图书馆的结构将是 node_modules/ my-library/ lib/ index.js src/ ... typings/ index.d.ts package.json 假设现在我从index.js导出一个名为Application的默认值,因此您可以通过从“我的库”导入应用

假设我发布了一个名为
mylibrary
的自定义库。这个图书馆的结构将是

node_modules/
    my-library/
        lib/
            index.js
            src/
              ...
        typings/
            index.d.ts
        package.json
假设现在我从index.js导出一个名为
Application
的默认值,因此您可以通过
从“我的库”导入应用程序来使用它

现在,在我的
index.d.ts
中,我想声明它的类型:

export = Application;
export as namespace Application;

declare namespace Application {
   function foo(arg1: string): object;
}
我知道这会返回错误,但它不会:

import Application from 'my-library';

Application.foo(123)[0].blahblah;
不仅参数是错误的,而且返回值的使用也是错误的。我不知道应该如何添加我的类型定义,以便上面的工作。

您可以查看Typescript在哪里查找定义

您可能需要在
包.json中添加
类型
,以指向自定义定义文件

{
    "types": "typings/index.d.ts",
}
该模块是一个很好的示例,附带类型,它们使用一个名为
types
的文件夹。