0

我在一家拥有大量 webcomponents 目录的大公司使用 Polymer 1 和 2 工作了大约一年,我相信 webcomponents 会非常有用。我知道像https://adamsilver.io/articles/the-problem-with-web-components/这样的“缺点想法” 。

现在我正在深入研究如何有效地使用 vanilla webcomponents。我刚开始的前提是使用 vanilla web-components 将有助于与 webcomponents 改进保持一致(我不能为这样的想法辩护——我现在只是假设这一点)。然后我正在尝试创建一个堆栈来使用 vanilla webcomponents。

搜索推荐的测试方法我到达了https://open-wc.org/testing并且我认为它旨在促进良好实践而不添加特定框架(来自其网站:“开放 Web 组件是一项社区努力,独立于任何框架或公司”)。这正是我正在寻找的:一种良好的实践和众所周知的推荐,类似于我们从 micorservice.io 获得的微服务(这只是一个类比)。

尝试使用 package.json 中的脚手架:

  "dependencies": {
    "lit-html": "^1.0.0",
    "lit-element": "^2.0.1"
  }

所以,我的主要问题是:为什么 lit-html 用于 web 组件?

围绕我的主要问题的有用疑问,据我所知,lit-html 是由谷歌和聚合物团队赞助的框架。这不是以某种方式迫使我使用 polifylls 在所有浏览器中运行吗?假设我不关心浏览器不符合 web 组件,我为什么需要一个框架?

4

1 回答 1

6

open-wc 的维护者在这里 :)

我们推荐 lit-html/element 的原因是因为它们是非常小的库,可以帮助您编写 Web 组件,并且不会将您锁定在框架中。最后,LitElement 只是简单地扩展了 HTMLElement,这使得它可以与其他 Web 组件甚至框架互操作。LitElement 还减少了您必须为 vanilla Web 组件编写的样板。然而,我们并没有与之结婚,我个人非常喜欢香草组件解决方案。此外,我们的大多数(如果不是全部)工具应该与 Web 组件兼容。

关于polyfills;LitElement 将尝试使用可能的现代标准(例如:可构造样式表),并在不可用时使用回退。加载 web 组件 polyfills 取决于开发人员 - 而不是 litelement。如果您将我们的构建配置用于汇总或 webpack,您可以选择加载 polyfill。

希望能解答您的疑问,欢迎咨询!

于 2019-07-17T06:01:54.337 回答