Angular 5:向外部 JS 文件添加类型

路易斯·阿塞图诺

我正在通过一个加载 JS 文件 <script src="http://.../script.js">

在 JS 中,有一个命名空间“foo”和一个方法“bar”。

我想foo.bar()从我的组件调用

我想添加类型定义,以便我在编码时知道我在做什么。我有script.d.ts带有类型定义的文件它看起来像这样:

export as namespace foo;

export namespace Baz {
    interface Qux {
    // ...
    }
}

export function bar(): Baz.Qux;

我不知道如何在 Angular 构建中包含这个文件(使用 CLI),以便在构建过程中进行类型检查,但在运行时,外部 JS 文件中的命名空间和函数将从我的组件中调用。帮助?

提香·切尔尼科娃-德拉戈米尔

您不需要导出修饰符,因为它们不是从模块导出的,您可以使用declare它们并使用 a///或在 中包含定义来引用它们tsconfig

// script.d.ts
declare namespace foo {
    namespace Baz {
        interface Qux {
        // ...
        }
    }

    declare function bar(): Baz.Qux;
}

// Other file
/// <reference path="./script.d.ts" />
foo.bar() // works and calls method from remote JS file

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章