ExecJS :: ProgramError:SyntaxError:保留字“function”

时间:2012-01-25 22:08:37

标签: javascript jquery ruby-on-rails coffeescript

在我们的rails rfq.js.coffee中,我们只有一个简单的js代码:

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

但是,此代码会导致错误,指出第一行中的function()是保留字。由于第一行基本上是一个jquery $(document).ready(function () {}),我们不知道为什么会出现这个错误。有什么想法吗?非常感谢。

3 个答案:

答案 0 :(得分:48)

您不能在Coffeescript文件中使用标准JS。将文件重命名为rfq.js,或将其转换为coffeescript:

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

答案 1 :(得分:8)

你可以通过用反向标记“`”包围代码来嵌入常规的javascript。我希望它能像其他解析语言一样工作......我花了很多不必要的调试和搜索来解决这个问题。 http://coffeescript.org/#embedded

答案 2 :(得分:1)

也许您将JavaScript代码编写到扩展名为.coffee的文件中,您可以使用{{3}}将代码从JavaScript转换为CoffeeSecript