2016-11-07 60 views
2

我想知道我應該在哪裏生成angular2 serviceangular2的最新文檔說可以在app文件夾中生成服務,但是,我正在遵循的一些視頻教程有一個預先生成的shared文件夾,其中創建了服務。我顯然可以創建該文件夾,但我想知道什麼是適當的,爲什麼?我在哪裏創建或生成服務?

app-name/src/app/service-name.service.ts

OR

app-name/src/app/shared/service-name.service.ts

+1

它在你的應用程序是如何工作沒有任何影響。這只是你想要組織的東西。例如,我在模塊文件夾中創建模塊服務,在他們自己的文件夾中創建獨立服務。 – Sefa

+0

服務旨在被組件共享,不是嗎?所以在這個意義上我很困惑,如果在一個單獨的共享文件夾中創建它們會產生任何影響。但你所說的是真的。謝謝:) – Pragun

回答

3

我假設您正在使用Angular-cli文件夾結構。如果您不使用Angular-cli,請使用它。

假設你有A組分和B組分

A組分:要使用服務S1。

B組分:要使用服務S2。

在這種情況下,您在組件A文件夾中創建S1服務,在組件B文件夾中創建S2服務。

現在假設成分A和成分B希望用戶服務S3。在這種情況下,您應該在共享文件夾中創建服務。

總結:如果你創建一個由大多數你的應用程序的組件 的使用,應該比你的共享文件夾中創建的服務。或1個組件 使用1個服務,您應該在該特定的 組件文件夾中創建服務。

2

這完全取決於你如何在應用程序的架構分層。 Angular 2建議按模塊/域進行分組,因此,域中每個文件的名稱都以.service,.module,.pipe,.directive等結尾。 將模塊及其相關內容分組在一起可以很容易地單獨維護一個特定的模塊,而無需更改應用程序的其他部分。此外,模塊內的路由可以在該模塊中進行本地化。

所以分組一個共享模塊下的所有服務和出口他們使用到其他模塊或圍繞服務相關模塊依賴於設計視角和思維。根據需求選擇合適的方法,但始終考慮可維護性。

+0

我很欣賞這一點。謝謝! – Pragun

相關問題