Ada kalanya TypeScript menghasilkan file definisi dengan kode berikut, yang menyebabkan kesalahan kompilasi:

// test.ts
import { Subject } from 'rxjs';

class Test {
  get property() {
    return new Subject().asObservable();
  }
}

// test.d.ts
class Test {
  property: import("rxjs").Observable<any>;
}

Mengapa itu terjadi dan bagaimana saya bisa menangkap jenis kesalahan ini?

1
undefined 20 Maret 2019, 14:45

1 menjawab

Jawaban Terbaik

import("rxjs").Observable<any>; adalah sintaks yang valid, jika Anda membangun 2.9 atau lebih tinggi. Masalah dengan sintaks ini biasanya terjadi jika Anda memiliki definisi yang dihasilkan oleh versi TypeScript yang lebih baru (yang menggunakan sintaks tipe import) dan mencoba menggunakannya dalam versi yang lebih lama.

Seperti yang kami diskusikan di komentar, ini memang masalah yang Anda alami. Solusinya adalah menggunakan versi TS yang sama di perpustakaan seperti di aplikasi.

1
Titian Cernicova-Dragomir 20 Maret 2019, 12:38