我们向我们敬佩的网络构建者提出了同一个问题:今年你在构建网站时学到了什么? 以下是他们告诉我们的。他们告诉我们的.

我们感谢我们的❥赞助商Automattic使本网站成为可能。他们制作了许多我们使用的优秀软件产品,例如JetpackWooCommerceWordPress.com.

npm 毁掉开发

在2020年,我重新发现了用简单的 HTML、CSS 和 JavaScript 构建网站的乐趣——没有转译,没有编译,除了我放在键盘上的双手之外,没有其他构建工具。

鉴于我的个人品牌可以概括为“如此晚于比赛,以至于体育场已被拆除”,我决定在 2020 年开始播客。它是我的代理机构 Clearleft 的播客,并获得了极具想象力的标题The Clearleft Podcast。我对第一季的结果非常满意。我对为它创建的网站也非常满意。

网站并不大,但它会随着时间的推移而增长。我思考了一下该网站的构建过程应该是什么,经过仅仅几秒钟的辩论,我决定构建过程为零。没有。什么都没有。

事实证明,这极大地解放了我。在没有任何中介的情况下,编写将交付给最终用户的实际 HTML 和 CSS,这感觉非常上手。我感觉自己正在接触网站的土壤。

近年来,CSS 已经有了很大的发展——有了像calc()和自定义属性这样的功能——你不需要使用像 Sass 这样的预处理器。而且原生 JavaScript功能强大,功能齐全,并且可以在不进行任何编译的情况下跨浏览器工作。

别误会我的意思——我完全理解为什么复杂的网站需要复杂的管道。如果你是一个大型团队的一部分,你可能需要制定流程,以便每个人都能以一致的方式为代码库做出贡献。代码库越复杂,你就越需要技术来帮助你自动化工作并在代码上线之前捕获错误。

但这种设置并不适合每个网站。而且,所有这些旨在节省时间的工具和流程有时最终会在以后浪费更多时间。你是否曾经在六个月或十二个月后重新访问过一个项目?也许你只想对 CSS 进行一点小小的更改。但你做不到,因为一个依赖项被破坏了。所以你尝试更新它。但它依赖于另一个版本的 Node。在你意识到之前,你变成了 Bryan Cranston 在换灯泡。你应该只调整一行 CSS,但实际上你却在与熵作斗争.

每当我处理前端开发中的问题时,我都喜欢应用最小权力原则:为给定的目的选择最不强大的语言。一个典型的例子是使用简单的 HTML 按钮元素,而不是尝试使用带有多种 ARIA 和 JavaScript 的 div 来重新创建按钮的所有原生功能。今年,我意识到,同样的原则也适用于构建工具。

与其默认情况下使用所有功能强大的工具链,我将从一个无聊的基线开始。如果以及何时变得过于痛苦或笨拙,那么我会添加一个任务管理器。但每次我添加一个依赖项时,我都会限制项目的生命周期。

我 2021 年的新年决心是节食。不再有沉重的node_modules文件夹;只有香脆可口的 HTML、CSS 和 JavaScript。