Web Components 的落败承诺

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

Lea 有话要说:

浏览 webcomponents.org 上的组件让我感到焦虑,而我完全可以舒适地编写 JS——我以编写 JS 为生!那些不会写 JS 的人有什么希望呢?使用目录中的自定义元素通常需要先进行 npm flugelhorn 的仪式、导入小丑鞋、构建 quux,所有这些都完全不加掩饰,因为“这是我的一卡车依赖项,是的,怎么样”。许多步骤甚至被省略了,可能是因为它们“显而易见”。

当我写 关于 Web Components 库的一些内容 时,我被 告知我犯的主要错误是

其想法是创建库可以构建在其之上的基元,以便它们可以交付更少的代码。 始终打算将库与它们一起使用。

很多年前,HTML 导入就消失了。 这是 Dave 长期以来对 Web Components 的不满。 所以我猜在那之后,对于 Web Components 来说,就是完全使用 JavaScript 或一败涂地的方案了。我不想这么说,但感觉它更像是失败而不是繁荣。

不过我仍然乐观。Web Components *确实可以做一些只有 Web Components 才能做到的非常酷的事情*。Shadow DOM 是其中很大一部分。例如,我记得几年前 Twitter 尝试将嵌入的推文变成 Web Components(而不是 iframe),因为这样速度更快(各方面都更快)。这从未实现(🤷‍♂️),但在我看来,这是一个非常棒的想法。

我认为样式的故事很重要。如果 它们的样式不那么奇怪,我至少会稍微多使用它们一些。我看到 Scott 今天就在询问此事,75% 的人希望有一种方法可以进入 Shadow DOM 并从常规 CSS 中对其进行样式设置。我理解为什么需要保护它(这首先是 Shadow DOM 的一个重要点),但对我来说,必须非常明确地进入就足够了。

直接链接 →