簡體   English   中英

使用外部模塊時如何正確使用TypeScript接口?

[英]How do I use TypeScript Interfaces correctly when using External Modules?

我對外部模塊有些陌生。 我想創建一個新的Updatable接口,許多游戲對象都將實現該接口。

使用內部模塊,您可以在文件頂部插入.ts引用,這很好。 Blah implements Updatable

但是,對於外部模塊,我似乎無法弄清楚如何編寫和訪問該接口的過程。 我覺得我不想導入它,因為它不是JS東西,同時在全局范圍內導出它並不能訪問它(找不到可更新)。 我在互聯網上發現的唯一其他建議是,有人使用d.ts文件作為接口,這似乎很奇怪,因為我認為它們是用於定義文件的。

誰能闡明實現此目標的最佳方法?

經過一番挖掘之后,我拿到了這張票

interface I {

}

export default I;

我覺得我不想導入它,因為它不是JS東西,同時在全局范圍內導出它並不能訪問它(找不到可更新)。

繼續並導入它們。 TSC不會輸出僅用於類型檢查的內容的import語句。 接口只會從生成的JavaScript中消失。

這段代碼:

import {FooClass, BarInterface, BazClass} from './baz';

class Bam extends FooClass {
    boom(baz: BazClass): BarInterface { return {}; }
}

如果您定位到ES6,它將成為下面的代碼。

import { FooClass } from './baz';

class Bam extends FooClass {
    boom(baz) { return {}; }
}

我在互聯網上發現的唯一其他建議是,有人使用d.ts文件作為接口,這似乎很奇怪,因為我認為它們是用於定義文件的。

是的我同意。 我真的建議將與模塊相關的接口放入模塊中,並且不要將其分散在全局范圍內。

暫無
暫無

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

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