Ultimamente sto utilizzando CoffeeScript per un progetto.
Questo perchè CoffeScript inserisce tutto il codice in una closure:
Effettivamente semplifica notevolmente la realizzazione del codice javascript.
Con le funzioni gloali però risulta essere un po' più ostico ed infatti mi sono imbattuto all'inizio in un problema: le funzioni definite in coffeescript e richiamate esternamente generano errore.
Se si richiama la funzione direttamente da console, ad esempio, è mostrato l'errore ReferenceError: yourMom is not definedmyFn = (location) -> console.log location myFn "hello"
Questo perchè CoffeScript inserisce tutto il codice in una closure:
Per poter ovviare al problema è sufficiente esportare la funzione definita in CoffeeScript nel global scope:(function() { var myFn; myFn = function(location) { return console.log(location); }; myFn("hello"); }).call(this);
[vedi stackoverflow]@myFn = (location) -> console.log location myFn "hello"
Commenti
Posta un commento