2

web、mobile-web、mobile-nativeのプラットフォームを扱うng2アプリを想像してみましょう。Angular2 app architecture(web、mobile、native)

多くの共有ファイル(アクションクリエイター、レデューサー、サービス、一般的なコンポーネントのような還元物)があるため、 すべてが1つのリポジトリに存在する可能性があります。ほとんどの場合、コンポーネント、ルーティングでWeb、モバイルWeb、モバイルネイティブビューのログインに違いがあります。 すべてはwebpackによって管理され、.mobile.tsと.desktop.ts拡張子を使ってすべてのものを構築します。 .base.ts拡張子のファイルには、デスクトップとモバイルコンポーネント間の共有ビューロジックが含まれています。

assets/ 
app/ 
    /common 
     actions/ 
     enums/ 
     models/ 
     effects/ 
     pipes/ 
     reducers/ 
     services/ 
     components/ 
      account-list/ 
       account-item/ 
        account-item.component.base.ts 
        account-item.component.desktop.ts 
        account-item.component.desktop.html 
        account-item.component.mobile.ts 
        account-item.component.mobile.html 
        index.ts 
       account-list.component.base.ts 
       account-list.component.desktop.ts 
       account-list.component.desktop.html 
       account-list.component.mobile.ts 
       account-list.component.mobile.html 
       index.ts 
    /modules 
     /desktop 
      /accounts 
       accounts.component.desktop.ts 
       accounts.component.desktop.html 
       accounts.routes.desktop.ts 
       index.ts 
     /mobile 
      /accounts 
       accounts.component.mobile.ts 
       accounts.component.mobile.html 
       accounts.routes.mobile.ts 
       index.ts 
    app.component.desktop.ts 
    app.component.mobile.ts 
    app.module.desktop.ts 
    app.module.mobile.ts 
    app.routes.desktop.ts 
    app.routes.mobile.ts 

あなたが見ることができるように、ファイルの数が非常に速く成長している:

電流(簡体字)のファイル構造は、以下のように(デスクトップがウェブ版は、モバイルは、モバイルウェブである)です。私は別のネイティブプラットフォームを追加することによってどのように見えるのか考えるのが恐ろしい。不幸にも、私の場合には興味深い例は見つけられません。

私が見つけた唯一のものである: Angular2 advanced seed link

しかし、それは同様にpreety奇妙な非直観ようです。

あなたはそのケースのより良い構造を作る方法について助言していますか?私はどんな助けにも感謝します。アドバイスをありがとう。

+0

あなたはプロジェクト構造の提案でアプリケーションを構築しようとしましたか?もしそうなら、それを使用することをお勧めしますか? – Weissvonnix

答えて

0

私はあなたが別のプロジェクトを作成することを示唆していると、このように、共通の角のパッケージを作成します。

  • 共通
  • ウェブ(コンポーネントおよびWeb固有の(角度のサービスやヘルパーを含みます)サービス/ビュー)
  • モバイルウェブ(コンポーネントおよびモバイルWeb固有のサービス/ビュー)
  • モバイルネイティブ(コンポーネントとネイティブ固有のサービス/ビュー)

多分あなたはwebとモバイルアプリを一緒に参加できます。しかし、このセットアップは多くのプロジェクトで私のために働いた

+0

これらのプロジェクト間でどのようにリソースを共有しますか?ウォッチタスクを使って共通のものを他のプロジェクトにコピーしますか?私はあなたがressourcesを共有するための仕事を必要としないので@Donutによって投稿されたプロジェクト構造のアイデアが好きです – Weissvonnix

+0

あなたは共有コンポーネントのために別々のNPMパッケージを作ることができます – hypery2k

関連する問題