Rails 3.2资产管道和RequireJS

dav*_*ids 13 amd ruby-on-rails requirejs asset-pipeline

我将使用Ruby on Rails 3.2启动一个富客户端Web应用程序.我打算使用RequireJS,但它似乎与Asset Pipeline发生冲突.据我所知,有什么后者基本上没有被串联相关资产,minifiying和压缩它们(纠正我,如果我错了),这似乎并不与装载JavaScript文件异步地非常兼容.

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

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

jim*_*ode 7

你可能想看看这个宝石https://github.com/jwhitley/requirejs-rails/

似乎正在做你想要的 - 这是使用requirejs加载客户端,同时仍然利用一些资产管道.

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


R M*_*hev 4

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

//= require require
Run Code Online (Sandbox Code Playgroud)

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

这是结合 asset-pipeline 和模块化 js 库的最简单方法。我不知道这个特定库需要任何其他设置,但您可以查看这个 Railscast,它描述了类似的内容。