2013-07-28 6 views
2

J'utilise r.js pour optimiser/corriger mon code JavaScript qui utilise RequireJS.Uglify avec r.js jette une erreur d'analyse

Un de mes modules est un module polyfil:

define(function(){ 
    if (!Array.prototype.filter) 
    { /* ... */ } 

    var isPolyfillNeeded = function() { /* ... */ } 

    if (isPolyfillNeeded()) { 
     /* polyfill implementation */ 
    } 
}); 

Le module provoque une erreur de l'analyse syntaxique jeté r.js en essayant de enlaidir, en disant:

Tracing dependencies for: ../scripts/main-app 
Error: Parse error using UglifyJS for file: C:/.../polyfill.js 
Unexpected character '?' (line: .., col: .., pos: ..) 

undefined 
In module tree: 
    ../scripts/main-main-app 
     moduleA 
     moduleB 

Lors du remplacement var isPolyfillNeeded = function() avec function isPolyfillNeeded() , ça fonctionne bien. Pourquoi est-ce?

+0

À quoi ressemble le corps de cette fonction? – Blender

+0

@Blender apparemment j'ai eu un mauvais caractère se cachant quelque part (voir http://stackoverflow.com/questions/12719859/syntaxerror-unexpected-token-illegal). Je ne peux toujours pas expliquer pourquoi le changement de fonction-var l'a résolu, mais de toute façon - la suppression d'un mauvais caractère l'a fixé. Merci. – Haji

Répondre

2

Le problème était un mauvais caractère qui se cachait quelque part dans mon code, car je copiais collé à partir d'un extrait. C'était invisible, donc c'était difficile à repérer.

Questions connexes