Ruby on rails 3.1 在Rails 3.1应用程序中使用RequireJS

Ruby on rails 3.1 在Rails 3.1应用程序中使用RequireJS,ruby-on-rails-3.1,sprockets,requirejs,Ruby On Rails 3.1,Sprockets,Requirejs,问题 如果您在Rails 3(esp 3.1)应用程序中使用过RequireJS,那么这对您有何帮助?有什么我需要注意的配置技巧或其他问题吗 背景 我正在考虑在Rails 3.1中使用基于链轮的资产管道上的RequireJS,特别是针对JavaScript代码。我有两个选择的动机: 我想利用RequireJS的模块管理来管理我的JS客户端代码 我想要一个预编译系统,它可以跟随我的JS库代码进入其他上下文。令我惊讶的是,资产管道预编译器是Rails的一部分,而不是链轮本身的一部分 感谢所有反馈

问题

如果您在Rails 3(esp 3.1)应用程序中使用过RequireJS,那么这对您有何帮助?有什么我需要注意的配置技巧或其他问题吗

背景

我正在考虑在Rails 3.1中使用基于链轮的资产管道上的RequireJS,特别是针对JavaScript代码。我有两个选择的动机:

  • 我想利用RequireJS的模块管理来管理我的JS客户端代码
  • 我想要一个预编译系统,它可以跟随我的JS库代码进入其他上下文。令我惊讶的是,资产管道预编译器是Rails的一部分,而不是链轮本身的一部分

感谢所有反馈,谢谢

对于子孙后代,以下是我对这个问题的看法:

  • RequireJS提供了API的一个实现。RequireJS’列出了您为什么要使用此功能的案例

  • 链轮和Rails 3资产管道允许简单地构造JavaScript/CoffeeScript代码,但不提供任何真正的模块支持。例如,链轮中没有任何名称空间控件

  • jQuery(从1.7开始)、下划线、Dojo和许多其他主要库都实现了AMD支持。其他几个主要的JS库似乎在短期水平上支持AMD(例如Backbone.JS)

当然可以创建一个集成了RequireJS的Rails应用程序。为了简化这一过程,我创建了,通过直接的配置和资产管道感知预编译为基于AMD的代码通过。当前版本可通过以下途径获得:


gem安装requirejs rails

你能告诉我更多关于为什么你想要requirejs的“链轮上的模块管理”吗?我正在考虑为我们的Rails应用程序做同样的事情——用RequireJS替换链轮。@kangax,链轮实际上不提供模块管理。它只是通过Sprockets指令将一堆JavaScript合并成一个构建文件。碰巧,我发布了gem,将RequireJS集成到Rails中,利用链轮进行CoffeeScript转换。接近0.5.0版本,支持预编译。同样对于后代,下划线不再支持AMD。然而,Lodash(下划线的替代品)确实如此。谢谢你的宝石。有没有我可以看到的CodeRails应用程序显示了它是如何设置的,最好是使用主干网。我已经阅读了文档,但我对require.js是新手,对javascript没有太多经验/技能,因此我可以更好地使用一个工作示例。下面是一个集成requirejs Rails的Rails 4应用程序示例:@leppert您可以始终使用shim配置并导出“\ux”。