【问题标题】:Complex Angular element (web component) or Angular Library复杂的 Angular 元素(Web 组件)或 Angular 库
【发布时间】:2019-07-19 17:34:57
【问题描述】:

我需要编写一个模块,以便为我们的不同应用程序重用,它需要使用路由、表单、选项卡...为它创建一个库?

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

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

【问题讨论】:

  • 当您说要创建一个库时,您打算做什么?能否请您详细说明以帮助我理解
  • 问题已编辑! :D

标签: angular web-component angular-elements


【解决方案1】:

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

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

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

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

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

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

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

【讨论】:

  • 嗨!感谢您的回答。抱歉,我没有指定该库是 Angular 库,其中包含所有功能(路由等)
  • 所以,问题是:我是否应该使用一个使用 Angular 但完全独立于使用位置的 Web 组件,并且可以从另一个库或您刚刚添加到应用程序中的普通 Angular 库中使用,这取决于应用程序是否也在使用 Angular?
  • 是的,但是添加这是一个相当复杂的模块
  • 知道了。我更新了我的答案。我建议使用普通的 Angular 库,因为它的工作量更少。
猜你喜欢
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-11
  • 2017-08-04
  • 1970-01-01
  • 2022-12-09
相关资源
最近更新 更多