node.js - 编译 Rails 3.1 Assets 的 ExecJS 问题

标签 node.js coffeescript ruby-on-rails-3.1 asset-pipeline execjs

我的 Rails 3.1.rc4 应用程序运行良好,但我正在尝试找出在管道中存储我的 js 文件的适当方法。如果我将任何代码放在 application.js 以外的文件中,我会收到以下错误:

Started GET "/assets/application.js" for 127.0.0.1 at 2011-07-21 23:15:02 -0500 Compiled ~/Dropbox/Rails/myapp/app/assets/javascripts/application.js.coffee (224ms) (pid 69397) Error compiling asset application.js: ExecJS::ProgramError: SyntaxError: Reserved word "function" on line 1 (in /Users/micahalcorn/Dropbox/Rails/myapp/app/assets/javascripts/users/registrations.js.coffee) Served asset /application.js - 500 Internal Server Error

无论哪个文件(在本例中为 registrations)都会发生这种情况,并且无论文件中的第一个词如何声明“保留字”(var功能等)。我正在使用 node.js 作为我的运行时环境,如果我删除 coffeescript 编译 gems 并将其视为 Rails 3.0 应用程序,一切都会正常工作。我想更好地了解 Assets 管道并遵循惯例。感谢您的任何建议!

最佳答案

错误

SyntaxError: Reserved word "function" on line 1

是 CoffeeScript 编译器错误。在 registrations.js.coffee 中将 function 转换为 ->,或者将其重命名为 registrations.js 以便该文件将作为原始 JavaScript 读取。

关于node.js - 编译 Rails 3.1 Assets 的 ExecJS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6785727/

相关文章:

ruby-on-rails - 选择具有多个预选值的标签 - 在数据库中手动插入的值

android - ruby on rails 中用于 Android 操作系统的 API

ruby-on-rails-3.1 - Rails 3.1新手: where should I put javascript code?

jquery - document.ready 未由 pjax 触发

javascript - 如何在 javascript (meteor.js) 中操作返回的 mongo 集合/游标?

javascript - 预验证 Hook 中的 Mongoose 无效不会引发错误

javascript - 将 REST API 用于 Discord 机器人

javascript - 如何避免在函数内调用函数?

javascript - 如何读取来自 idp 的 SAML 响应以使用户登录到应用程序

javascript - 如何解决Node js和mongodb中的时区问题?