dart - 在 Angular dart 中处理多个模块

标签 dart angular-dart

我正在为一家拥有 3 家不同公司的公司创建一个网站。因此该域将有 3 个子域,如下所示:

  • www.example.com
  • firm1.example.com <-> www.example.com/firm1
  • firm2.example.com <-> www.example.com/firm2
  • firm3.example.com <-> www.example.com/firm3

公司之间不会共享代码。每个公司都有自己的数据库托管在同一服务器上。每个公司都会有一个主页链接,即 www.example.com。

我决定为每个公司创建一个模块和一个将从 main.dart 调用的主模块。现在我如何以及何时调用第二个模块。这样做时,我不理解在 Controller 上使用模块的必要性。

  • 在这种情况下模块化应用程序是否正确?
  • 拥有多个模块有哪些优势?
  • 我们应该为每个模块使用一个路由器吗?我问这个的原因是,将来如果我计划删除firm3并将其放在一个不再与主应用程序粘连的单独域中,那么我将不得不从路由器中删除相应的路由,这不太可能模块化应用程序。

最佳答案

模块用于组合注入(inject)器的一组类型注册。通常,即使您只有一家公司,您也会有多个模块。

看看这个例子:https://github.com/akserg/angular.dart.ui/blob/master/lib/carousel/carousel.dart 这是一个 Carousel 组件,由两个始终一起使用的组件组成,并且依赖于 TransitionModule。
CarouselModule 允许您只需 install(new CarouselModule);

即可注册所有这些类型

模块与程序逻辑无关,它更多的是用于一次注册一组 Angular 组件、指令、服务……。

Controller 就是关于程序逻辑的。

这三个公司有什么区别? 您可以创建三个不同的应用程序,并将要在包中的这些应用程序之间重用的代码移动,然后从这三个应用程序导入此包。

更新

如果这 3 个应用程序不共享代码,那么将它们放在一个应用程序中就没有意义。 您可以使用您正在使用的 Web 服务器的虚拟目录功能。

您得到的是应用程序之间的依赖关系,这些应用程序没有任何共同点(除了由同一服务器提供服务之外)。

您必须应对代码大小。每个用户加载 3 个应用程序的代码,尽管他想要并且只能使用其中的 1/3。 在 Dart 中,按需加载代码并不是那么容易(至少现在还不是)。

总结:你的方法没有任何优点,而且有严重的缺点。相反,创建三个独立的应用程序。

关于dart - 在 Angular dart 中处理多个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24857092/

相关文章:

firebase - 仅针对已登录用户在Flutter中获取Firestore数据

angular - 学习有 Angular Dart 并使用有 Angular 画廊部分库

typescript - Angular 2,使用 body 作为根选择器,而不是 my-app

dart - 从 AngularDart 0.14.0 迁移到 1.0.0

dart - 更少使用AngularDart组件和Bootstrap

dart - PolymerDart 死了吗?一个架构问题

dart - 我如何让 Angular.dart 和 Polymer.dart 的(合理的最新版本)一起生活?

angular - 将主机和 ComponentResolver 从 AngularDart 4 迁移到 5

android - pub get failed : Because flutter_app depends on firebase_firestore ^0. 12.7+1 which doesn't match any versions, version solving failed

list - 在 forEach 循环中填充列表之前,我的异步调用正在返回