我使用gem rack-coffee来编译我的咖啡脚本。我也想使用jquery.js。我把它们放在同一个文件夹中,但它不起作用。 Rack-coffee也编译jquery.js,编译器抛出错误。如何在同一文件夹中使用这两种文件。
use Rack::Coffee,
:root => File.join(Dir.pwd, 'assets'),
:urls => '/javascripts'
答案 0 :(得分:0)
机架咖啡README描述了一种方法:
如果您想从与coffeescript文件相同的目录中提供库存javascript文件,请在Rack :: Coffee之后将Rack :: File粘贴到中间件堆栈中。
虽然Rack::File似乎不是中间件而是独立的Rack应用类,所以我会在上面的代码之前使用Rack::Static:
use Rack::Static,
:root => File.join(Dir.pwd, 'assets'),
:urls => ["/javascripts"]
use Rack::Coffee,
:root => File.join(Dir.pwd, 'assets'),
:urls => '/javascripts'
答案 1 :(得分:0)
作为替代方案,我最近wrote a gem that utilises the CDN's for jQuery。如果将其添加到中间件堆栈,则无需考虑它。
require 'rack/jquery'
use Rack::Coffee,
:root => File.join(Dir.pwd, 'assets'),
:urls => '/javascripts'
use Rack::JQuery # This can go before or after Rack::Coffee, it doesn't matter.
# add this to your layout's head section:
= Rack::JQuery.cdn env
该页面现在将使用Google的jQuery CDN(有关CDN的更多信息,请参阅http://jquery.com/download/),并且该库附带了一个后备脚本。