打字稿中的结构化界面

时间:2019-11-19 09:31:27

标签: typescript

我不确定执行以下任务的正确方法是什么。

所以在我的主要index.ts文件中,我正在导入admin

import * as admin from 'firebase-admin'

fileStorage =  new FileStorage(admin.storage()),

我的fileStorage如下所示

export class FileStorage implements FileStorage {
    constructor(fbAdmin) {
        this.storage = fbAdmin

现在,如果要更改类型,我发现有两种方法,一种是在fileStorage的界面中导入admin并添加类型。

import * as admin from 'firebase-admin'

export interface FileStorage {
   storage: admin.storage.Storag
}

 export class FileStorage implements FileStorage {
        constructor(fbAdmin) {
            this.storage = fbAdmin

另一种方法是将接口导出到index.ts文件中

import * as admin from 'firebase-admin'
export interface FileStorage {
   storage: admin.storage.Storag
}
fileStorage =  new FileStorage(admin.storage()),

并从fileStorgae文件中的index.ts文件导入该文件,还是创建一个文件夹interface / firebase.ts并从那里导出接口?

我知道这个问题看起来很自以为是,但是我不知道如何构造打字稿项目。

0 个答案:

没有答案