@ Jenis / Kesalahan Sekuel TS1086: Accessor tidak dapat dideklarasikan dalam konteks ambient

10

Saya memiliki proyek yang menunjukkan kesalahan ini ketika saya menjalankan 'tsc':

../modules/node_modules/sequelize/types/lib/transaction.d.ts:33:14 - error TS1086: An accessor cannot be declared in an ambient context.

33   static get LOCK(): LOCK;
                ~~~~

../modules/node_modules/sequelize/types/lib/transaction.d.ts:40:7 - error TS1086: An accessor cannot be declared in an ambient context.

40   get LOCK(): LOCK;
         ~~~~

Versi saya adalah:

  • "@ types / sequelize": "^ 4.28.6"
  • "sekuel": "^ 5.8.10"
  • "sequelize-typescript": "1.0.0-beta.4"

Proyek ini berfungsi dengan baik dengan nodemon tetapi gagal ketika saya mencoba untuk mengkompilasi naskah. Adakah yang tahu kesalahan ini?

Terima kasih.

Josel567
sumber

Jawaban:

13

Anda perlu menggunakan naskah 3.7.

dari catatan naskah 3.7 rilis:

To detect the issue around accessors, TypeScript 3.7 will now emit get/set accessors in .d.ts files so that in TypeScript can check for overridden accessors.

jadi mungkin sequelizedikompilasi dengan naskah 3.7 dan memancarkan file definisi yang versi sebelumnya tidak mengerti. Jadi, Anda perlu memutakhirkan ke skrip 3.7 atau menggunakan versi sekuel sebelumnya.

Aviad Hadad
sumber
Bagaimana jika saya tidak dapat meningkatkan ke 3,7? punya ide lain?
Shlomi Levi
itu bekerja seperti pesona
Aditya Kresna Permana
@ShlomiLevi Gunakan versi sebelumnya@types/sequelize
Aviad Hadad
3
sudut 8 hanya dapat bekerja dengan naskah <
V3.5
Anda benar, saya mengalami masalah ini baru-baru ini dan setelah beberapa pencarian saya mendapati masalah yang ditutup di Github, jadi untuk memperbaiki masalah saya harus memutakhirkan versi naskah ke versi 3.7.2.
Thiago Valentim
23

Saya memiliki Angular 8 . ini bekerja dengan versi naskah 3.4.5. jadi selesaikan masalah ini lakukan di bawah langkah-langkah ini.

langkah 1) pergi ke file tsconfig.json

langkah 2) tambahkan skipLibCheck: true dalam objek "compilerOptions". Ini bekerja untuk saya.

"compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "strict": true,
    "target": "es5",
    "declaration": true,
    "declarationDir": "dist-debug/",
    "skipLibCheck": true, /// Needs to be true to fix wrong alias types being used

  },
Krishn Patel
sumber
Terima kasih. "skipLibCheck": true (ditambahkan ke tsconfig yang terkait dengan NestJs), berfungsi, dan NestJs dengan aplikasi yang memulai melalui aplikasi sarang.
Алексей Медведев
5

Pengaturan "skipLibCheck": truebekerja untuk saya.

kimamula
sumber
Bekerja untuk saya juga, terima kasih.
electrotype
Di file mana saya perlu mengubah ini?
Krishn Patel
file tsconfig.json
29er