13

我将使用 Ruby on Rails 3.2 启动一个富客户端 Web 应用程序。我打算使用 RequireJS,但它似乎与 Asset Pipeline 发生冲突。据我所知,后者基本上做的是连接依赖资产,缩小和压缩它们(如果我错了,请纠正我),这似乎与异步加载 JavaScript 文件不太兼容。

乍一看,资产管道似乎有更好的性能。但是,RequireJS 允许您将 JavaScript 代码组织在易于重用和管理其依赖项的模块中。

有没有办法将两者结合起来?如果没有,你会选择哪一个?

4

2 回答 2

7

您可能想看看这个 gem https://github.com/jwhitley/requirejs-rails/

似乎正在做你想做的事——即使用 requirejs 加载客户端,同时仍然利用一些资产管道。

我很想建议我猜在大多数情况下,资产管道会更快,因为它会加载单个缩小的 js 资源。依赖管理虽然不是很好,所以它在很大程度上取决于应用程序。

于 2013-04-02T11:38:09.107 回答
4

我建议下载 RequireJS 库并将其折腾到vendor/assets/javascripts. 然后在你的application.js文件中:

//= require require

(有趣,是吗?),这就足够了。

这是结合资产管道和模块化 js 库的最简单方法。我不知道这个特定的库需要任何额外的设置,但你可以看看这个 Railscast,它描述了类似的东西。

于 2013-02-15T17:21:31.803 回答