J'ai un projet qui montre cette erreur lorsque j'exécute '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;
~~~~
Mes versions sont:
Le projet fonctionne bien avec nodemon mais échoue lorsque j'essaie de compiler le TypeScript. Quelqu'un connaît cette erreur?
Merci.
vous devez utiliser TypeScript 3.7.
à partir des notes de publication de TypeScript 3.7:
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.
donc vraisemblablement sequelize
a été compilé avec TypeScript 3.7 et émet des fichiers de définition que les versions précédentes ne comprennent pas. Vous devrez donc effectuer une mise à niveau vers TypeScript 3.7 ou utiliser une version antérieure de sequelize.
J'ai Angular 8. il fonctionne avec la version TypeScript de 3.4.5. alors résolvez ce problème, suivez les étapes ci-dessous.
étape 1) allez dans le fichier tsconfig.json
étape 2) ajouter skipLibCheck: true dans l'objet "compilerOptions". Ça marche pour moi.
"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
},
Réglage "skipLibCheck": true
a fonctionné pour moi.