web-dev-qa-db-fra.com

WebStorm - Le type d'argument {providedIn: "root"} n'est pas attribuable au type de paramètre {providedIn: Type <any> | "root" | null} & InjectableProvider

J'essaie de migrer mon application de Angular v5 vers v6 et je fais face à l'erreur TypeScript suivante en essayant de spécifier providedIn dans mes fournisseurs

Le type d'argument {providedIn: "root"} n'est pas attribuable au type de paramètre {providedIn: Type | "root" | null} & InjectableProvider

 @Injectable({
    providedIn: 'root',
 })
 export class MyService {
 }

J'ai copié et collé le code du document Angular --- https://angular.io/guide/dependency-injection

Une idée?

[~ # ~] mise à jour [~ # ~]

J'ai créé un projet vide ng new ... et a ajouté un fournisseur ng g service my-new-service, a ouvert le projet dans WebStorm et tout allait bien, je n'ai rencontré aucune erreur avec ce projet factice

[~ # ~] mise à jour [~ # ~]

J'ai contacté le support WebStorm, il s'avère que c'est un bogue connu de WebStorm https://youtrack.jetbrains.com/issue/WEB-32634

[~ # ~] mise à jour [~ # ~]

Webstorm 2018.1.4 (pas encore publié) devrait résoudre le problème, voir https://youtrack.jetbrains.com/issue/WEB-32634

[~ # ~] mise à jour [~ # ~]

L'équipe Webstorm a déplacé le correctif vers 2018.1.5

[~ # ~] mise à jour [~ # ~]

Dimanche 17 juin 2018, le correctif Webstorm est sorti

21
David Dal Busco

Croyez-moi ou non, j'ai fermé et ouvert mon projet dans Webstorm et l'erreur a tout simplement disparu

Thx @yurzui et @ AdrianFâciu pour le support

[~ # ~] mise à jour [~ # ~]

Il s'avère que c'était un bogue confirmé dans Webstorm qui a ensuite été corrigé dans la version v2018.1.5 et publié le dimanche 17 août 2018. J'ai mis à jour mon éditeur vers cette version et je n'ai plus rencontré le problème

Suivi des problèmes Webstorm: https://youtrack.jetbrains.com/issue/WEB-32634

notes de version v2018.1.5: https://confluence.jetbrains.com/display/WI/WebStorm+181.5281.31+Release+Notes

28
David Dal Busco