Angular 文件夹结构和组件服务

2024-01-01

我读过很多关于 Angular 文件夹结构的文章。我仍然不清楚我们将组件服务放在哪里。组件之间的共享服务被置于共享之下。但是如果服务仅由组件使用呢? 通常我将所有组件逻辑放入一个服务中,并让组件保留仅与 UI 内容相关的代码。 使用哪一种更好:

每个组件及其服务放入同一文件夹中

.
├── app.component.html
├── app.component.ts
├── app.module.ts
├── app-routing.module.ts
└── shop
    ├── clients
    │   ├── clients.component.html
    │   ├── clients.component.ts
    │   ├── clients.component.css
    │   └── clients.service.ts
    ├── orders
    │   ├── orders.component.html
    │   ├── orders.component.ts
    │   ├── orders.component.css
    │   └── orders.service.ts
    ├── shop.module.ts
    └── shop-routing.module.ts                 

或 services 文件夹下模块的所有服务

.
├── app.component.html
├── app.component.ts
├── app.module.ts
├── app-routing.module.ts
└── shop
    ├── clients
    │   ├── clients.component.html
    │   ├── clients.component.ts
    │   └── clients.component.css
    ├── orders
    │   ├── orders.component.html
    │   ├── orders.component.ts
    │   └── orders.component.css  
    ├── services
    │   ├── clients.service.ts
    │   └── orders.service.ts
    ├── shop.module.ts
    └── shop-routing.module.ts

我认为没有一个适合所有文件夹结构的方法,因为它完全是固执己见的,而且真的很高兴拥有它。

有人说我们应该根据功能进行分组。

有人说我们应该根据相似性进行分组。

这样的名单还在继续……

我记得丹·阿布拉莫夫(Dan Abramov)的一本指南真正谈到了我们应该如何真正考虑构建我们的应用程序。可以找到Here https://react-file-structure.surge.sh/.

简单但不简单,只做你认为最好的事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 文件夹结构和组件服务 的相关文章

随机推荐

  • 如何让 webdriver 实例在所有类文件中使用相同的实例

    我是 java selenium 的新手 我想使用 webdDrierSingleton 概念 它将帮助我在所有类中使用单个驱动程序实例 我无法获取驱动程序实例 有人可以指导我如何获取它吗 单例类 public class WebDrive
  • Visual Studio 2015。无法注册站点访问的 URL 被拒绝 IIS Express。访问被拒绝 0x80070005

    我在 Visual Studio 2015 中启用了 SSL 以实现Facebook and Google本地登录 我改变了项目网址 in the Web tab项目的属性https 本地主机 44300 https localhost 4
  • 是否可以刷新“今日小部件”中的计时器?

    我想知道是否可以更新今日小部件中计时器的文本标签 我环顾四周 但没有任何帮助 是的你可以 我刚刚测试过并且有效 您只需将计时器添加到主运行循环 NSRunLoopCommonModes 中 RunLoop main add yourTime
  • 指定 seq2seq 自动编码器。 RepeatVector有什么作用?批量学习对预测输出有何影响?

    我正在构建一个基本的 seq2seq 自动编码器 但我不确定我是否做得正确 model Sequential Encoder model add LSTM 32 activation relu input shape timesteps n
  • 如何改进生成多重集组合的算法?

    我该如何优化next and hasNext 下面的生成器中的方法会产生有界多重集的组合 我将其发布到 C 以及 Java 因为该代码与 C 兼容 并且没有不直接转换为 C 的 Java 特定元素 该算法有问题的特定领域是整个hasNext
  • 如何在 QtCreator 的调试器中显示 std::multimap 和 std::multiset 的内容?

    我正在尝试检查 a 的内容std multimap and std multiset in the 局部变量和表达式的窗口Qt创建者 我得到的不是值列表 而是显示的实现细节 奇怪的是 std map and std set对应的显示良好 i
  • 工厂方法“dataSource”在启动时抛出异常

    我已将 MS SQL 与我的 Spring Boot 应用程序集成 但是在启动时我收到以下错误 无法实例化 org apache tomcat jdbc pool DataSource 工厂方法 dataSource 抛出异常 嵌套异常是j
  • 使用 safari 在画布中绘制包含 html 的 svg

    我正在尝试为网站创建一些动态创建的页面的缩略图 我找到了一个解决方案 方法是在 svg 中添加 html 然后在画布内的图像上绘制图像 在绘制图像后调整图像大小 这个解决方案适用于 firefox 和 chrome 但不适用于 safari
  • Xcode - 更改项目模板

    因此 我可以为单个文件添加新模板 但我希望 Xcode 在设置新项目时使用这些文件 最明显的是 Controller 和 Delegate h 和 m 文件 我怎么做 除了您找到的各个类的模板之外 还有适用于各种项目类型的模板 如果您只想替
  • 根据 TypeScript 验证 JSON

    我们使用 JSON 文件来配置一些 Web 应用程序 显然在字段名称等方面出现了错误 是否可以使用 TypeScript 定义验证 JSON 文件 或者我们应该将配置迁移到其他格式 我们同时使用Intellij和VSCode进行开发 定义示
  • 将 pdf 转换为单页可编辑 html

    我一直在努力将 pdf 文件转换为单个漂亮的 html 页面网上冲浪了一下 我得到的解决方案有点缺乏我的要求 因为我必须为大约 200 个 pdf 文件创建单独的 html 页面 因为在线转换器可能不是一个领先的解决方案 所以我尝试了以下解
  • QOpenGLWidget 与 QApplication?

    我们有一个基于 QWidget 的应用程序 之前使用 QWindow 进行 OpenGL 渲染 为了使该窗口适合我们的应用程序 我们必须使用 QWidget QWidget createWindowContainer QWindow 以前我
  • 为 ObjectBoundingBox 导出 SVG

    我对 SVG 的经验很少 我正在尝试保存来自 illustrator 的路径 以便它可以用作响应式剪贴蒙版 其大小相对于其父级 使用clipPathUnits objectBoundingBox 但是 Illustrator 似乎不允许我在
  • 新 luarock 的正确 Rockspec 文件名是什么?

    根据这个页面 http luarocks org en Creating a rock http luarocks org en Creating a rock 这应该保存在名为 luafruits 1 0 1 rockspec 的文件中
  • Nuget 包...项目中不存在...包...文件夹中已存在

    我已经与这个错误斗争了几个小时 但无法找到有效的解决方案 我在多项目解决方案中有一个 ASP Net API 其引用 依赖项配置不正确 我已经尝试修复它两天了 问题是 我相信 该 API 缺少 System Web Http System
  • C++ 挂钩 winsock

    我正在尝试挂接winsock send 和recv 以读取进程的所有流量 我将以下代码作为 dll 注入目标进程中 include dll h include
  • UIDatePicker,根据今天的日期设置最大和最小日期

    如果我有一个 UIDatePicker 并且我希望将最小和最大日期范围设置为三十年前和未来三十年之间 我将如何设置 未经测试 但您可能想要这样的东西 NSCalendar calendar NSCalendar alloc initWith
  • 如何在CTR模式下寻找并解密部分码流?

    我对 cryptopp 中的部分解码有疑问 使用 AES 256 CTR 编码源 CTR Mode lt AES gt Encryption e e SetKeyWithIV key 32 iv string encrypt string
  • 在 Django 中提供大文件(高负载)

    我一直在使用一种提供下载服务的方法 但由于它不安全 我决定更改它 该方法是指向存储中的原始文件的链接 但风险在于知道该链接的每个人都可以下载该文件 所以我现在通过我的视图提供该文件 这样只有具有权限的用户才能下载该文件 但我注意到服务器上的
  • Angular 文件夹结构和组件服务

    我读过很多关于 Angular 文件夹结构的文章 我仍然不清楚我们将组件服务放在哪里 组件之间的共享服务被置于共享之下 但是如果服务仅由组件使用呢 通常我将所有组件逻辑放入一个服务中 并让组件保留仅与 UI 内容相关的代码 使用哪一种更好