@ 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.

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.


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

  },

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.