RequireJSをRails 3.1アプリケーションで使用する

質問

Rails 3(esp 3.1)アプリケーションでRequireJSを使用した場合、それはどのように機能しますか?私が注意する必要がある設定の秘訣やその他の問題はありますか?

背景

私は、特にJavaScriptコードのために、Rails 3.1でSprocketsベースのAsset PipelineよりRequireJSを使用することを検討しています。私はこの選択のための2つのモチベーターを持っています:

  • JSクライアント側のコードにRequireJSのモジュール管理を活用したいと考えています。
  • 私のJSライブラリコードを他のコンテキストに追随させるプリコンパイルシステムが必要です。私の驚いたことに、Asset Pipelineプリコンパイラは、Railsの一部であり、Sprockets自体の一部ではありません。

すべてのフィードバックは、ありがとう!

25
なぜあなたはSprocketsのものよりもRequireJSのモジュール管理を望んでいるのかについてもっと教えてください。私は、Railsアプリケーションのために同じことをやってみたいと思っています - SprocketsをRequireJSに置き換えてください。
追加された 著者 kangax,
@kangax、Sprocketsは実際にモジュール管理を提供していません。それは、Sprocketsの指示に従ってJavaScriptの束をビルドされたファイルにまとめるだけです。それが起こると、私はRequireJSをRailsに統合するために requirejs-rails の宝石を公開しました。 CoffeeScript変換のためにSprocketsを利用しています。事前処理をサポートして0.5.0リリースに近づいています。
追加された 著者 John Whitley,

1 答え

48
追加された
@leppert shimの設定を使用して、常に "_"をエクスポートすることができます。
追加された 著者 Chad Johnson,
この宝石をありがとう。できればBackboneを使って、すべての設定方法を示すコードRailsアプリがありますか?私はドキュメントを読んだことがありますが、私はrequire.jsには新しく、javascriptで経験豊富で熟練した人ではありません。
追加された 著者 Leahcim,
次に、requirejs-railsを統合したRails 4アプリケーションの例を示します。 github.com/pboling/require-rails -example
追加された 著者 rubiii,
後世のために、UnderscoreはもはやAMDをサポートしません。しかし、Underscoreのドロップイン代替品であるLodashはそうしています。 lodash.com
追加された 著者 leppert,