2016-12-06 30 views
1

私は角度のためにtodd motto's styleguideに従っています。そして、彼のアプローチやジョンパパのアプローチでも、各コンポーネントには、それぞれが依存する独自のサービスが必要であると言われています。角度:再利用可能なサービスを使用している多くのコンポーネント

私の質問は、お互いに関係のないさまざまなコンポーネントから使いたいサービス(たとえばgetArticlesByStoreId)があるとどうなりますか。このスタイルガイドから、私はサービスファイルを両方のコンポーネントに書き直さなければならないことを理解していますが、これらの共有サービスすべてに対して "sharedServices /"を持つことができると思いますので、コードを書き直すことはありません。

この場合、あなたはどうしますか?

app/ 
|--components/ 
    |--comp1/ 
     |--service.js 
    |--comp2/ 
     |--service.js 

または

app/ 
|--components/ 
    |--comp1/ 
    |--comp2/ 
|--services/ 
    |--sharedServices/ 
     |--service.js 

答えて

1

私は、大規模なプロジェクトで角度1.5およびコンポーネントアーキテクチャを使用しています。私たちは以下の構造を持ち、それほど良いものを持っています。 [OK]を

└─ src/app/ ├─ app.js # app entry file ├─ app.html # app template ├─ common/ ├─ common.js # common entry file └─ services/ # common services └─ components/ # where components live ├─ components.js # components entry file └─ home/ # home component ├─ home.js # home entry file (routes, configurations etc) ├─ home.component.js # home component definition ├─ home.controller.js # home controller ├─ home.service.js # home service ├─ home.scss # home styles ├─ home.html # home template └─ home.spec.js # home specs (for entry, component, and controller)

1

は、あなたの質問は、私が何をするのかであるので、私は構造の特徴(ジョン・パパスのフォルダ構造の1つ)によって私のアプリを...これを行うだろう。それぞれのアプリケーションには異なるフォルダ構造が必要かも私は、中小アプリ向けに以下のフォルダ構造を使用しています。ここでもアプリケーションのニーズが重要です。あなたのアプリがどれだけ成長し、どれくらい管理しやすいのかは、使用するフォルダ構造によって決まります。

app/ 
    |--core 
     |--login.service.js 
    |--feature1/ 
     |--feature1.component.js 
     |--feature1.service.js 
    |--feature2/ 
     |--feature2.service.js 

私はできるだけフラットなフォルダ構造を持っています。私は、John Papasのフォルダ構造のガイドラインで、3つ以上のネストされたフォルダを持たないようにしています。ここで彼はそれを言う記事:https://johnpapa.net/angular-app-structuring-guidelines/

関連する問題