组件,了解一下。

Avatar of Chris Coyier
Chris Coyier

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

我看到 VuePress 刚刚 发布了 1.0 版本。简单来说,它是一个基于 Vue静态网站生成器。但当然,您使用的是 Vue,这意味着您使用的是组件

所有现代 JavaScript 框架都是基于组件的。即使它们在某些具体方面存在分歧(例如 Svelte需要编译),但它们似乎都同意使用组件的模型。React 全都使用组件。一个流行的 React 静态网站生成器是 Next.js。Vue 版本的则是 Nuxt.js

然后还有 Gatsby,它完全基于 React。(请收听 我们最新的 ShopTalk Show,我们将讨论它。)Gridsome 似乎是在 Vue 世界中与之最相似的工具,其显著的比较点在于它们都旨在从任何来源获取数据。当然,它们也都是基于组件的。我不确定是否存在一个旗舰级的基于 Angular 的静态网站生成器,但它们确实存在,并且 Angular 的所有内容都归结为组件。

组件如此普遍,以至于您可能不再考虑它。但您可能会感受到它,特别是当您在非组件驱动的项目之间来回切换时。通常情况下,我认为 WordPress 开发并不是组件驱动的。当然,您有 header.phpfooter.php 文件等等。您可以根据需要将它们拆分,但这有点临时性。您并不是明确地构建组件,并为这些组件提供本地数据并对其进行测试。(使用类似 Timber 的东西可以更接近这种方式。)

使用服务器端代码构建前端绝对没问题。服务器端渲染有很多优势。**但是,服务器端语言似乎并没有像 JavaScript 那样拥抱组件。**而且,由于每个人似乎都喜欢组件(前端开发人员显然喜欢它设计师也以这种方式思考后端开发人员也理解它……),因此我毫不惊讶地看到这些备受喜爱的项目从 JavaScript 中构建服务器端(或构建时)生成的网站,仅仅因为它基于组件,而组件就是一个好主意。