ruby-on-rails - 在 Rails 2.3 上安装咖啡师/ CoffeeScript

标签 ruby-on-rails coffeescript

我正在尝试让咖啡师在 Rails 2.3 应用程序中启动并运行(暂时可能不会移动到新版本的 Rails..)。我将应用程序切换为 bundle,因此我将以下 gem 添加到我的 Gemspec 中:

gem "barista"
gem "json"

然后执行bundle install 贯穿其中。据我所知,要“编译” CoffeeScript ,咖啡师会附带一项 rake 任务。但它似乎没有正确安装,所以我可以将它与 rake 一起使用。 IE。当我执行 rake -T 时,没有 barista:brew

我在 git hub 上看到一个挂起的拉取请求,建议添加 require 'barista/tasks' 但这只会导致 rake 找不到它。那么我做错了什么或者更一般地说,我如何在 Rails 2.3.x 上启动和运行咖啡师?

最佳答案

我用Barista已经有一段时间了,我没有在任何项目中使用它,所以我无法验证它。

但我记得 Barista 的一个优点是,它会等待服务请求,直到重新编译修改后的 CoffeeScript 文件。这可确保浏览器不会请求过时的文件。

因此无需使用 Rake 任务编译 CoffeeScript 文件。

CoffeeScript 本身也带有一个 watch 函数,它会在检测到更改时编译 CoffeeScripts:

coffee -w /path/to/scripts

我停止使用 Barista 的原因很简单,因为我发现了 Guard .所以我写了guard-coffeescript在我保存文件的同时编译我的 CoffeeScripts。

Guard-coffeescript 与 Barista 和 CoffeeScript 相比有一些优势:

  • 速度快且 CPU 消耗低,因为它依赖于文件系统修改事件。
  • 可以通过多种方式配置,例如多个源文件夹和输出文件夹。
  • 发生错误时立即反馈,即使是 Growl 等系统通知也是如此。

关于ruby-on-rails - 在 Rails 2.3 上安装咖啡师/ CoffeeScript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6441103/

相关文章:

javascript - 主干 Marionette 路线未被调用

ruby-on-rails - 如何将收到的短信(通过 twilio)与我的 Rails 应用程序中的特定用户关联

ruby-on-rails - 我们可以在没有 SendGrid 附加组件的情况下将 smtp 与 heroku 一起使用吗?

ruby-on-rails - 设置属性未定义方法

jquery - 如何阻止远程表单提交?

javascript - 如何在 CoffeeScript 中定义全局变量?

ruby-on-rails - Ransacker 和 Arel 在关联领域

javascript - Ember.js 模型被组织为树结构

jquery - 在窗口调整大小时关闭 jQuery 事件

javascript - 需要在 CoffeeScript 中配置的库?