2013-07-24 12 views
7

私は、会計アプリケーションのような大規模で複雑なレールアプリを持っていると言います。私は典型的なレールラウンドトリッピングページの代わりに、いくつかのシングルページアプリケーションの使用を参照してください。例えば、私はよりよいのための直感的な単一のページ/ダイナミックアプリを添えて、ユーザーを見ることができます:請求書時間レポート Ember JSと複数のシングルページアプリケーション

  • などを記入
  • を作成する銀行和解を作成

    • ..

    これらはすべて、明確な1ページのアプリです...私は見

    すべての燃えさしのアプリは、単一ページと単一のpです願う

    私はemberで構築された多くのシングルページアプリを使いたいと思っています。それはどのように見えますか:

    ルート:サーバールートとクライアントルートの組み合わせがあります。それはEmberでどのように見えますか?独自のアプリケーションルーターとルートを備えた異なるEmberアプリケーションを提供しますか?

    テンプレート:すべての「アプレット」がコンパイルされ、読み込み時にクライアントにプッシュダウンされますか?または、require.jsを活用して、ナビゲートされているかどうかに応じてそれぞれの単一ページアプリケーションを読み込みますか? ...

    誰でもこの2つの質問にお答えできますか? ありがとうございます!

  • +0

    はFYI - 私は自分のサブドメイン上の異なるクライアント「モジュール」をホスティング巻き取った後、ラックを使用異なるサブドメインにサービスを提供するサーバー上の-cors。また、いくつかの一般的なクライアント機能のための共有レポを作成しました。それはかなり小さいです。 –

    +0

    どのようにして詳細情報を提供できますか?共通メニュー、認証と認証などの一般的なアプリケーションの問題をどのように解決しましたか?あなたは1ページにそれらをマージしましたか、あなたのすべてのアプリが分けられましたか? – ykaragol

    答えて

    2

    ルート:サーバールートとクライアントルートの組み合わせがあります。それはEmberでどのように見えますか?独自のアプリケーションルーターとルートを備えた異なるEmberアプリケーションを提供しますか?

    機能の点で重複しているかどうかによって異なります。あなた自身のルーターとルートで異なるEmberアプリケーションを提供できることを確かめてください。その場合、おそらく共通の基底クラスとミックスインを持つ共有ライブラリを作成するでしょう。

    別の方法として、ルートに応じて非常に異なった外観と動作をする1つのemberアプリケーションを用意することが考えられます。それは、あなたが神殿のための良い気持ちを持ち、物事を分け合わせる魅力的な理由を見出すまで私が始める場所です。

    テンプレート:すべての「アプレット」がコンパイルされ、読み込み時にクライアントにプッシュダウンされますか?または、require.jsを活用して、ナビゲートされているかどうかに応じてそれぞれの単一ページアプリケーションを読み込みますか? ...

    レールの抵抗が最も少ないパスは、スプロケットを使用してテンプレートをコンパイルしてパッケージ化することです。コンパイルすると、ジャバスクリプトになります。通常、レールアプリはすべてのjavascriptをapplication.jsにバンドルし、ロード時にそれをインクルードします。別の方法として、アプリケーション固有のコードとテンプレートをapp1.js、app2.jsなどに分割し、アプリをナビゲートするときにそれぞれをロードする方法があります。

    +0

    私は既にEmberとちょっとした仕事をしています。最初の答えに関しては、1つのアプリから始まります。ルーターファイルの中でどのように見えますか? 2つの異なる "ルート" URLの下にアイテムのネストがありますか? –

    +0

    これはいい考えです。 –

    1

    私はPODS構造を使用することをお勧めし、その後、あなたがポッド構造で生成する場合は、例えばフォルダ

    /app1/ 
        /route1 
        /route2 
    /app2/ 
        /route1 
        /route2 
    etc... 
    

    のようなルートを持つことができます ember generate route app1\route1

    あなたが後で分割することができます良いフォルダ構造で終わるだろう、のようなもの:

    /app 
         /pods/ 
          /app1 
           /route1 
            route.js 
            controller.js 
            template.hbs 
           /route2 
            route.js 
            controller.js 
            template.hbs 
          /app2 
           /route1 
            route.js 
            controller.js 
            template.hbs 
           /route2 
            route.js 
            controller.js 
            template.hbs 
    
    +0

    ここに、Pod構造の文書があります:https://ember-cli.com/user-guide/#pod-structure – hailong

    関連する問題