1

我使用 gem rack-coffee来编译我的咖啡脚本。我也想使用 jquery.js。我把它们放在同一个文件夹中,但它不起作用。Rack-coffee 还编译 jquery.js,编译器会抛出错误。如何在同一个文件夹中使用这两种文件。

use Rack::Coffee,
  :root => File.join(Dir.pwd, 'assets'),
  :urls => '/javascripts'
4

2 回答 2

0

作为替代方案,我最近编写了一个使用 jQuery 的 CDN 的 gem。如果将其添加到中间件堆栈中,则无需考虑它。

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/),并且该库捆绑了一个备用脚本。

于 2013-06-05T22:30:04.080 回答
0

rack-coffee README描述了一种方法:

如果您想从与您的咖啡脚本文件相同的目录中提供库存 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'
于 2013-06-05T07:18:02.683 回答