Angularjs 我在哪里创建或生成服务?

Angularjs 我在哪里创建或生成服务?,angularjs,angular,service,directory-structure,Angularjs,Angular,Service,Directory Structure,我想知道我应该在哪里生成angular2服务?angular2的最新文档说可以在app文件夹中生成服务,但是,我下面的一些视频教程有一个共享的文件夹,在其中创建了服务。我当然可以创建那个文件夹,但我想知道什么是合适的,为什么 app name/src/app/service name.service.ts 或 app name/src/app/shared/service name.service.ts这完全取决于应用程序架构中的分层方式。 Angular 2建议按模块/域进行分组,因此,域中每

我想知道我应该在哪里生成
angular2服务
angular2
的最新文档说可以在
app
文件夹中生成服务,但是,我下面的一些视频教程有一个
共享的
文件夹,在其中创建了服务。我当然可以创建那个文件夹,但我想知道什么是合适的,为什么

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


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

这完全取决于应用程序架构中的分层方式。 Angular 2建议按模块/域进行分组,因此,域中每个文件的名称都以.service、.module、.pipe、.directive等结尾。 将模块及其相关内容分组到文件夹中,可以轻松地单独维护特定模块,而无需更改应用程序的其他部分。此外,模块内的路由也可以在该模块内进行本地化


因此,将所有服务分组到一个公共共享模块下,并将它们导出以供其他模块使用,或将服务封装到相关模块中,这取决于设计角度和思维方式。根据需求选择适当的方法,但要始终牢记可维护性

我假设您使用的是Angular cli文件夹结构。如果您不使用Angular cli,请务必使用它

假设您有组件A和组件B

组件A:要使用服务S1

组件B:要使用服务S2

在这种情况下,您将在组件A文件夹中创建S1服务,并在组件B文件夹中创建S2服务

现在假设组件A和组件B想要使用服务S3。在这种情况下,您应该在共享文件夹中创建服务

摘要:如果您创建的服务被大多数组件使用 应用程序的,而不是您应该在共享文件夹中创建的。或1个组件 使用1个服务,您应该创建该特定服务 组件文件夹


它对你的应用程序的工作方式没有影响。这就是你喜欢组织事情的方式。例如,我在模块文件夹中创建模块服务,在它们自己的文件夹中创建独立服务。服务是由组件共享的,不是吗?所以从这个意义上说,我很困惑,如果在一个单独的共享文件夹中创建它们,会不会有什么不同。但你说的有点真实。谢谢:)我很感激。谢谢