ExecJS::ProgramError: SyntaxError: 保留字“函数”
Posted
技术标签:
【中文标题】ExecJS::ProgramError: SyntaxError: 保留字“函数”【英文标题】:ExecJS::ProgramError: SyntaxError: Reserved word "function" 【发布时间】:2012-02-19 03:10:33 【问题描述】:在我们的 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 () )
,我们不知道为什么会出现这个错误。有什么想法吗?非常感谢。
【问题讨论】:
等等,这是 CoffeeScript 吗?为什么在 CoffeeScript 中使用普通的 JS? js2coffee.org 将成为你的朋友 【参考方案1】:你不能在 Coffeescript 文件中使用标准的 JS。将文件重命名为rfq.js
,或将其转换为coffeescript:
$ ->
$('#need_report').change ->
if $(this).val()
$('#report_language').hide()
【讨论】:
刚刚将文件重命名为js文件。思想js可以在咖啡脚本中使用,无需任何更改。还找到了一个将 js 转换为咖啡脚本或虎钳诗的网站。 js2coffee.org 谢谢。 是的,它不像 Sass vs CSS,你可以在 scss 文件中使用标准 CSS。 但是,在将rfqs.js.coffee重命名为rfqs.js后,应用程序中的第9574行出现了一个奇怪的错误提示非法字符(application.js中只有大约100行代码)。 js。我将文件名重命名为 .coffee 并且错误消失了。够奇怪的! 我不明白。根据 CoffeeScript 网站:“您可以从 CoffeeScript 无缝使用任何现有的 javascript 库(反之亦然)。”【参考方案2】:您可以通过用反引号“`”包围代码来嵌入常规 javascript。我希望它也能像其他解析语言一样工作......我花了很多不必要的调试和搜索来解决这个问题。 http://coffeescript.org/#embedded
【讨论】:
【参考方案3】:也许您将 JavaScript 代码写入扩展名为 .coffee
的文件中,您可以使用 js2.coffee 将您的代码从 JavaScript 转换为 CoffeeSecript
【讨论】:
以上是关于ExecJS::ProgramError: SyntaxError: 保留字“函数”的主要内容,如果未能解决你的问题,请参考以下文章
Pages#home 中的 Rails ExecJS::ProgramError?
ExecJS :: ProgramError:运行rake资产时意外的标记点«(»,预期的点«:»:在生产中进行预编译
ExecJS::ProgramError: SyntaxError: Unexpected token: name <ClassName>