我正在关注托德座右铭的式Angular。在他的方法和约翰·帕帕(John Papa)的方法中,他们说每个组件都应拥有自己的服务。
我的问题是,我想从与彼此无关的不同组件中使用服务时会发生什么。从这个StyleGuides,我知道我必须将服务文件重写为两个组件,但是我认为我可以为所有这些共享服务提供"共享服务/",因此我最终不会重写代码。
你们在这种情况下会做什么?
app/
|--components/
|--comp1/
|--service.js
|--comp2/
|--service.js
或
app/
|--components/
|--comp1/
|--comp2/
|--services/
|--sharedServices/
|--service.js
我正在使用Angular 1.5和大型项目中的组件体系结构。我们有以下结构,到目前为止还不错。
└─ 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)
好的,因为您的问题是我要做什么,我会做到这一点...通过功能构造我的应用程序(John Papas文件夹结构之一)。请记住,每个应用程序可能需要不同的文件夹结构。我将以下文件夹结构用于中小型应用程序。同样,您的应用需求在这里很重要。您的应用程序将增长多少,以及您将使用的文件夹结构的可管理性。
app/
|--core
|--login.service.js
|--feature1/
|--feature1.component.js
|--feature1.service.js
|--feature2/
|--feature2.service.js
我喜欢使文件夹结构尽可能平坦。我相信,我在John Papas指南中阅读了文件夹结构的指南,其文件夹的文件夹不超过2个。这是他说的文章:https://johnpapa.net/angular-app-scrupturing-guidelines/