Angular:核心模块样式发生了什么变化?

7
Tl;dr: core.module风格不再是官方的Angular Style Guide的一部分,但它似乎只是最近被删除。导入单例服务的新最佳实践是什么?为什么移除了该样式?
我刚读了这篇指南,介绍如何使用Angular Material,其中提到:
    Then (as per the Angular Style Guide) I created a Core module

我查看了样式指南,但好像找不到这里引用的指南。在搜索过程中,我偶然发现了以下来源:

  • Nov. '18博客文章介绍了core.module和shared.module之间的区别。

  • Oct. '17这个问题有关于core.module的非常详细的解释。

  • Jul. '18这个问题很不起眼。

最后一个问题涉及到使用core.module样式,请点击此链接:

    https://angular.io/guide/styleguide#core-feature-module

看起来 #core-feature-module 锚点已被删除,不再是 Angular 官方风格指南的一部分。只剩下 共享特性模块指南

为什么删除了 core.module 指南?导入单例服务的最佳实践是什么?

1个回答

1

简单来说,它从未被要求

您还可以完全删除以下文件。它们是AngularJS模块配置文件,不需要在Angular中使用:

  • app/app.module.ajs.ts
  • app/app.config.ts
  • app/core/core.module.ts
  • app/core/phone/phone.module.ts
  • app/phone-detail/phone-detail.module.ts
  • app/phone-list/phone-list.module.ts

至于为什么要将其删除

@jenniferfell @brandonroberts fyi。@jenniferfell,我们取消了推荐使用CoreModule的技术,因为现在提供服务的首选方式是使用providedIn,但是@bisonfoutu有一个很好的观点。我认为这个问题的重点可能更适合放在特性模块或SharedModule部分的样式指南上,但我很想听听团队和社区的意见。

在我看来,如果我们得出建议使用这种技术的结论,它可以放在这里:https://angular.io/guide/styleguide#shared-feature-module

感谢@bisonfoutu提出这个问题!

欢迎各位发表意见!✨


我知道在从AngularJS升级指南中,该文件被列为不需要的配置文件,但坦白地说,我不明白为什么。然而,在过去几年中,有无数的来源提到了core.module风格与Angular ^2相关的内容,直到最近它似乎仍然是官方风格指南的一部分。我的问题仍然存在。 - codepearlex
@codepearlex 相当合理。我添加了 git 响应中的引用。 - Shinjo
这正是我一直在寻找的!@Injectable()装饰器的providedIn选项使得core.module风格变得无用,因为它仅适用于单例导入。然而,我最初阅读有关core.module的博客文章建议在那里导入Angular Material。即使在core.module仍被认为是最佳实践的时候,这似乎是一个错误的建议,因为Angular Material不是一个服务,而是一个组件集合。 - codepearlex
1
顺便说一句:新的最佳实践在当前的样式指南中以提供服务的方式进行描述。感谢您对此进行了阐述。 - codepearlex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接