3

私はRailsベースのWebアプリケーションを、クライアント側のBackbone.js上に構築しています。私のCoffeescript-Codeを構造化するために、私はRequireJSとrequirejs-railsを使用しました。私のバックボーンクラスは、それぞれ独自のRequireJSモジュールに収められています。RequireJS - 他のRails/JSアプリケーションで再利用するためのバックボーン関連モジュールをパッケージ化します。

私は最近、いくつかの基本クラスに多くのコードをリファクタリングし、他のプロジェクト(RailsやJavascript/Coffeescript、RequireJSなしでも可能)で簡単にそれらを再利用してGitHub私のRailsアプリケーションとは別のプロジェクトとして。パッケージに関するRequireJSのドキュメントを読みましたが、詳細にはあまり入っていません。だから、これは私がやりたいものです。

    ので views/base_collection_viewcommons/views/base_collection_viewsとなりそう
  • に私のレールのアプリケーションで私のrequirejsレールのセットアップにパッケージを含め、独自のパッケージに私の共有コードを移動し
  • 、および非requirejsセットアップ(私はパッケージをレイアウトする方法を考え出したら、後者はかなり簡単にアーモンドを使用して行われることになると思います)

以内に再利用可能なrequireJSパッケージの完全な例を使用するようにコンパイルmy-commons.jsファイルをしまう提供この時点で、実際に私に多くの助けをしてください必要なレールを赤くする。

答えて

0

requirejs-railsについてはわかりませんが、RequireJSではかなり簡単です。

define(['dep1', 'dep2'] , function ($, otherLibrary) { 
    return function() { 
     // your module code 
    }; 
}); 

ここで、 'dep1'と 'dep2'は、モジュールが依存する他のRequireJSモジュールです。あなたは好きな数だけ、あるいは多くのものに依存することができます。実際の関数(この例では$とotherLibrary)に渡すvar名は、それらのライブラリがモジュール内で割り当てられる名前です。

誰でもファイルの名前はどのように基づくと、あなたのモジュールこの方法を必要とすることができるようになりますRequireJSを使用して、フォルダにこのファイルは、「私のスーパー-lib.jsと呼ばれていた場合、それは、。にあります。例えば

"libsディレクトリの中で、別のモジュールがlibs/my-super-libを依存関係配列に渡すだけで、すべてが設定されます。

更新:あなたはcoffeescriptを言いました。同じアイデアだが、明確にする:

define ['dep1', 'dep2'], ($, otherLibrary) -> 
    () -> 
     // your module code 

あなたがその中にいるなら。 ;)

関連する問題