我应该使用 WordPress 还是 React hooks?
我应该使用 D3 还是 CSS?
我应该使用 Markdown 还是 JSON?
我可以在 Gatsby 中使用 flexbox 吗?
我可以在 Jekyll 中使用自定义属性吗?
我应该使用 HTML 还是云?
如何 在我的 Vue 站点添加暗模式?
这些都是半开玩笑的,但这里有一个要说明的点。 理解一项技术是一项挑战,而另一项挑战是理解技术如何相互配合。
虽然上面某些技术的组合可能看起来很令人困惑,但您很幸运能了解到它们令人困惑。 这意味着您足够了解这些技术,知道它们不是相关的非此即彼选择,或者它们是否具有阻止它们组合在一起的任何内容。
我经常在初学者中看到这种困惑,这实际上没有什么可耻的。 这都是过程的一部分。
我也在该网站的读者中看到这种类型的困惑,因为我们经常编写关于相当基础的 Web 技术的文章,而不会深入探讨它们如何融入不同的抽象层,比如 JavaScript 框架或CMS。 例如,查看关于 构建滑块 的这篇文章。 它甚至没有涉及 JavaScript; 它只是原生 HTML 和 CSS。
也许经验丰富的前端开发人员会明白他们可以在任何地方使用此滑块代码,因为它不依赖于任何其他内容。 但也有一些开发人员会说它不在 JSX 中,所以我实际上不能使用它。 或者,它在 npm 上吗? 我一直有人问我,他们在此网站上找到的一些想法和技术是否可以在他们的 WordPress 网站上使用。
那么,您如何在 WordPress 网站上使用此滑块代码呢? 嗯,因为它只是 HTML 和 CSS,所以您可以在任何模板中使用 HTML,将 CSS 放入您网站的样式表中,它就可以工作。 但是,也许您希望以某种方式在 WordPress 本身中管理幻灯片,而不是编辑模板文件。 也许您有一个名为“幻灯片”的自定义帖子类型,然后是一个自定义页面,它在滑块的 div 中输出这些帖子的内容。 更加复杂,但本质上是相同的概念。 如果你想让滑块在 React 中工作,可能只需要将一些class
属性改为className
,并将 CSS 放到你用于 React 网站样式的任何地方。 我们经常在 CSS-Tricks 上保留基础技术的主题,因为它使事物变得更加通用,但将概念移植到其他技术中仍然很有趣,也是一项需要学习的技能。
让我尝试回答上面的那些问题。
我应该使用 WordPress 还是 React hooks?
WordPress 是一款 CMS,您可以选择它来帮助您构建结构化内容,并可能构建整个网站。 您可以使用 React 构建一个网站,这越来越流行,但它仍然不是很常见。 React 是一种使用 JavaScript 构建的组件构建网站前端的方式,以帮助进行模板和逻辑处理。 React hooks 是一种在组件之间共享功能的方式。 所以,这个问题不是非此即彼——你可以两者都做,或者只做其中一项。
我应该使用 D3 还是 CSS?
CSS 用于所有网站进行样式设置。 D3 是一个用于进行数据可视化的 JavaScript 库。 有一些交叉,因为您可以在 D3 中构建一个条形图,或者使用 HTML 和 CSS 构建相同的条形图。 但一般来说,D3 会进行 CSS 做不到的非常花哨的绘图,而 CSS 会进行 SVG(D3 的输出)做不到的网站元素布局。
我应该使用 Markdown 还是 JSON?
Markdown 是一种用于编写内容的语言,可以编译成 HTML。 例如,您可能在 Markdown 中编写一篇博文,因为它写起来更干净,看起来也更干净,并且在一定程度上会阻止您在不应该使用 HTML 的地方使用 HTML。 JSON 是一种格式,用于以大多数编程语言(特别是 JavaScript)易于处理的格式存储数据。 JSON 具有相当直观的嵌套键值对语法。 您可以将 Markdown 放入 JSON 中,如果以这种方式存储数据有用的话。 它们之间有一些有趣的交叉,因为 Markdown 的特殊变体可以将元数据作为文件的一部分,称为前置文字。 这些前置文字数据也采用键值对格式,尽管语法略有不同。 尽管如此,它们通常是截然不同的技术。 一个API通常会返回 JSON,而不是 Markdown,并且您通常会在 Markdown 中写博客,而不是 JSON。
我可以在 Gatsby 中使用 flexbox 吗?
当然可以。 flexbox 是一种 CSS 的东西,而 Gatsby 是一个 React 框架。 Gatsby 不关心您在网站上使用什么 CSS。 由于 Gatsby 基于 React,因此存在大量 CSS-in-JS 库,这些库也可能在使用,因此如果您遇到问题,它可能与该库有关。 例如,如果样式通过 JavaScript 对象格式设置,您可能必须使用类似flexGrow
而不是flex-grow
的东西,等等。
我可以在 Jekyll 中使用自定义属性吗?
Jekyll 是一个 Ruby 驱动的静态网站生成器,主要用于从 Markdown 文件生成博客。 与 Gatsby 不关心您的 CSS 一样,Jekyll 也不关心。 自定义属性是 CSS 的东西,所以您可以在 CSS 中随意使用它们,而 CSS 又会成为您 Jekyll 网站的一部分。
我应该使用 HTML 还是云?
“云”的含义有些模糊,但通常指的是连接到互联网的服务器。 而且不仅仅是一台服务器,而是一个大型网络,具有很强的扩展性和冗余性。 HTML 是网站的基础语言。 每个网站都从向 Web 服务器请求 HTML 开始。 它们之间的关系在于,基于云的服务器可能会提供对 HTML 文件的这些请求! 但它们不是非此即彼的选择。 您可能会编写由非“云”服务器提供的 HTML,您也可能会将云服务器用于与 HTML 无关的事情(比如存储大型数据文件)。
这个对我现在来说非常相关——我正在寻找将 Eleventy 连接到无头 CMS 以构建作品集网站的最佳方法。 NetlifyCMS 或 Forestry 看起来很适合这项工作(万岁,内容在仓库中),但将大量结构化内容存储在前置文字中,而主要内容很少,感觉很不对劲。 JSON 是我的首选,但似乎不是一种选择。