我正在通过一个加载 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] 删除。
我来说两句