1

我需要编写一个可重用于我们不同应用程序的模块,它需要使用路由、表单、选项卡...使用 Angular 元素制作 Web 组件是否有意义,或者创建一个更好的主意图书馆呢?

我们当前所有需要这个模块的应用程序都是在 Angular 中制作的,我们公司希望继续将 Angular 用于我们的 Web 应用程序,但是,谁知道将来我们是否会使用 React 或其他 JS 库或框架......

编辑:该模块仅供内部使用,不适用于客户端。它将包括对我们所有应用程序共有的不同资源(类型、语言、状态......)的 CRUD 操作的功能。这些中的每一个都将在一个选项卡中表示,因此,例如,在语言选项卡中,您将看到一个带有分页显示所有语言条目的表格,您可以创建新的语言来填充表单、编辑语言并删除它们。

4

1 回答 1

3

我想这个问题的答案不止一个,你必须决定最后要做什么。根据我的经验,我建议制作一个普通的 Angular 库,而不是 Web 组件。原因如下:

1)这只是更少的工作,因为你的公司开始使用 Angular 并且没有改变的计划,我肯定会让事情变得简单/避免额外的工作。

2) 使用独立的 Web 组件时,部署很可能会变得更加复杂。

3)您错误地实现了某些特定于 Angular 的东西,如果没有额外的工作就无法在其他框架中使用的可能性很高,并且无论如何都无法将您的库实际重用于其他框架。

4)你说这是一个复杂的模块。在库中,您可以轻松地将其拆分为多个组件/服务。尽管您也可以在独立的 Web 组件中执行此操作,但这始终是额外的工作。

5) 最后:如果您的公司决定使用除 Angular 之外的其他框架,这将是一个巨大的进步,因为您或多或少地重写了所有内容!如果您采取了这样的步骤,那么重新设计方法、用户体验和所有这些总是很明智的。这很可能会导致您的 Web 组件要么必须进行大量重构,要么不再使用 Angular 或被弃用。

所以对我来说,如果您创建一个独立的 Web 组件,您似乎不会从您的额外工作中受益。但是:如果您发现创建一个独立的 Web 组件确实有好处,并且有人(您的老板或客户)愿意为此付费,那么您应该选择该选项。

于 2019-02-26T08:54:19.763 回答