Kelas reekspor di Typescript


Saya memiliki dua kelas dalam dua file.

//a.ts
export class A{}

//b.ts
export class B{}

Bagaimana saya bisa membangun file c.ts dari mana saya bisa mengimpor kedua kelas?

import {A, B} from "c";

alih-alih

import {A} from "a";
import {B} from "b";

Saya ingin membuat semacam fasad ekspor. Bagaimana cara mengeksport ulang tipe?

Jawaban #1

Saya menemukan jawaban sendiri

https://www.typescriptlang.org/docs/handbook/modules.html @Ekspor-Ulang

Kode untuk melakukan apa yang saya inginkan

//c.ts
export {A} from "a";
export {B} from "b";

Ekspor default

Dengan asumsi Anda memiliki file

//d.ts
export default class D{}

Re-ekspor harus terlihat seperti ini

//reexport.ts
export { default } from "d";

atau

//reexport.ts
export { default as D } from "d";

Yang terjadi di sini adalah Anda mengatakan "Saya ingin mengekspor ulang default export dari modul 'D' tetapi dengan nama D

Jawaban #2

Bagi siapa pun yang tidak ingin berurusan dengan default, Anda mengekspor ulang modul yang diimpor seperti ini

import {A} from './A.js';
import {B} from './B.js';

const C = 'some variable'

export {A, B, C}

Dengan cara ini Anda dapat mengekspor semua variabel yang Anda impor atau deklarasikan di file ini.

Diambil dari sini

Artikel terkait