web-dev-qa-db-fra.com

ngAnnotate - Warning: StringMap clé de chaîne attendue

Je reçois cet avertissement lorsque j'utilise Grunt et grunt-ng-annotate

Dans l'avertissement, il n'y a aucune référence à l'emplacement de l'erreur dans le fichier, ce qui rend le débogage difficile.

Des idées?

9
iss42

Le problème s’est révélé être l’utilisation de la notation ES6, dans ce cas, les fonctions de flèche ( => ), default parameters et let .

Je n'ai pas cherché en détail pourquoi ngAnnotate ne supporte pas cela.

Pour savoir où se trouvaient les problèmes, j'ai remplacé l'avertissement ngAnnotate par le commutateur grunt --force et plus tard, dans la compilation, je me suis plaint de la syntaxe de l'ES6 avec plus de détails.

18
iss42

J'ai également rencontré le même problème, mais dans mon cas, le problème était différent.

Un des membres de notre équipe a initialisé le paramètre de fonction sur une valeur par défaut. Quelque chose comme ce qui suit.

$scope.functionName = function(defaultVar = false){ 
    //some code 
}

et dans mon script gulp, il y avait une ligne

.pipe(plugins.if(release, plugins.ngAnnotate()))

Ainsi, lorsque j'ai supprimé cette ligne, le script de génération imprimait automatiquement l'erreur dans la console en indiquant le fichier exact et le numéro de la ligne où se trouvait l'erreur.

Enfin, j'ai pu résoudre ce problème en supprimant ce code d'initialisation de variable.

J'espère que cela aidera quelqu'un...

3
Mr. Noddy