簡體   English   中英

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

[英]Angular 5: adding types to external JS file

我正在通過<script src="http://.../script.js">加載一個 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並使用///引用它們,或者在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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM