web-dev-qa-db-fra.com

ExecJS :: ProgramError: SyntaxError: Mot réservé "fonction"

Dans nos Rails rfq.js.coffee, nous n'avons qu'un simple code js:

$(function() {
  $('#need_report').change(function(){
    if ($(this).val() == true) {
      $('#report_language').hide();
    }  // end if
  });  // end change()
});  // end ready(function)

Cependant, ce code provoque une erreur indiquant que function () en première ligne est un mot réservé. Comme la première ligne est essentiellement une jquery $(document).ready(function () {}), nous ne savons pas pourquoi cette erreur s’affiche. Des idées à ce sujet? Merci beaucoup.

32
user938363

Vous ne pouvez pas utiliser JS standard comme ça dans un fichier Coffeescript. Renommez le fichier en rfq.js ou convertissez-le en coffeescript:

$ ->
  $('#need_report').change ->
    if $(this).val()
      $('#report_language').hide()
48
Dylan Markow

Vous pouvez intégrer du javascript normal en entourant le code avec des ticks en arrière "` ". J'aimerais que cela fonctionne aussi bien que les autres langages d'analyse ... cela m'a pris beaucoup de débogage et de recherche inutiles pour comprendre cela. http://coffeescript.org/#embedded

8
hourwise

Peut-être avez-vous écrit du code JavaScript dans un fichier avec l'extension .coffee vous pouvez utiliser js2.coffee pour convertir votre code JavaScript à CoffeeSecript

1
hguzman