SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead

Message

Warning: SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead

Warning: SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead

Type d'erreur

Un avertissement prenant la forme d'une exception SyntaxError. L'exécution du code JavaScript n'est pas interrompue.

Quel est le problème ?

Une syntaxe dépréciée a été utilisée pour indiquer une correspondance de source (source map) dans le code JavaScript.

Il arrive souvent que les fichiers sources JavaScript soient combin√©s et minifi√©s afin que le transfert depuis le serveur vers le client soit plus efficace. Gr√Ęce aux correspondances de source (ou source maps), le d√©bogueur peut utiliser les sources des fichiers correspondants aux fichiers minifi√©s.

La sp√©cification sur cet outil a √©volu√© car il existait un conflit de syntaxe avec IE (apr√®s //@cc_on, la correspondance √©tait interpr√©t√©e comme un test conditionnel de compilation du moteur JScript). Ce commentaire de compilation conditionnelle pour IE est peu connu mais son existence entra√ģnait des erreurs avec jQuery et d'autres biblioth√®ques.

Exemples

Syntaxe dépréciée

La syntaxe utilisant l'arobase (@) est dépréciée :

//@ sourceMappingURL=http://exemple.com/chemin/vers/la/sourcemap.map

Syntaxe standard

Il faut utiliser le dièse (#) :

//# sourceMappingURL=http://exemple.com/chemin/vers/la/sourcemap.map

Autrement, on peut indiquer la correspondance dans un en-tête SourceMap pour servir le fichier JavaScript afin d'éviter tout commentaire :

X-SourceMap: /path/to/file.js.map

Voir aussi