搜索
首页web前端js教程如何(过度)设计一个简单的静态网站

就在一年多前,我的任务是为我学院的一个研发小组开发一个新网站。他们的旧网站是建立在 jQuery 模板之上的,通常很难维护。到目前为止,我已经构建了大约一年的用户界面,我认为我有能力设计一个更好的网站……我错了!

How to (Over)Engineer a Simple Static Website

XKCD 974:一般问题

我之前参与过的项目都使用了 React.js,有些使用了 Next.js,有些没有使用 Next.js。正如他们所说,“如果你只有一把锤子,那么一切看起来都像钉子。”所以我选择了这些技术来构建一个简单的静态网站。

事后看来,从一开始就很明显这不会有好结果。实际上,如果您想使用数据驱动的内容构建高度交互的动态用户界面,React.js 有点棒。 Next.js 是一个很好的配套框架,它提供服务器端渲染、路由并帮助优化性能(以及许多其他功能)。然而,我构建的网站是静态的,这意味着它不会从大多数功能中受益。当然,它可以使用 React.js 和 Next.js 构建——而且确实如此——但是成本是多少?

上述工具相当复杂。要使用它们构建网站,您需要了解它们的来龙去脉。你不能只编写标记和样式就结束了,因为它们需要编写在 React 的功能组件和钩子范例中,遵循基于组件的架构并通过 props 和上下文处理数据流......这就是全部您将编写更多行代码。

当然,这本身并不是问题。仅靠标记和样式可能无法满足项目的要求,并且您可能会浪费时间重新发明轮子编写自己的 JavaScript 代码,而不是使用现成的解决方案。但如果可以在不增加复杂性的情况下满足要求,那么这样做是明智的。否则,您将过度设计并最终得到一个比应有的更难(且成本更高)维护的项目。

这就是我们网站的完整循环。旧的因为难以维护而不得不更换。由于一位能力有限的年轻软件工程师的才华,新公司现在发现自己处于同样的境地——实际上,更糟糕?我想我们现在需要一个新的网站!我计划扔掉当前的代码库,并使用除 HTML 和 CSS 之外的尽可能少的内容来重建它。也许我会考虑静态网站生成器。

以上是如何(过度)设计一个简单的静态网站的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在JavaScript中替换字符串字符在JavaScript中替换字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

8令人惊叹的jQuery页面布局插件8令人惊叹的jQuery页面布局插件Mar 06, 2025 am 12:48 AM

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

构建您自己的Ajax Web应用程序构建您自己的Ajax Web应用程序Mar 09, 2025 am 12:11 AM

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

10个JQuery Fun and Games插件10个JQuery Fun and Games插件Mar 08, 2025 am 12:42 AM

10款趣味横生的jQuery游戏插件,让您的网站更具吸引力,提升用户粘性!虽然Flash仍然是开发休闲网页游戏的最佳软件,但jQuery也能创造出令人惊喜的效果,虽然无法与纯动作Flash游戏媲美,但在某些情况下,您也能在浏览器中获得意想不到的乐趣。 jQuery井字棋游戏 游戏编程的“Hello world”,现在有了jQuery版本。 源码 jQuery疯狂填词游戏 这是一个填空游戏,由于不知道单词的上下文,可能会产生一些古怪的结果。 源码 jQuery扫雷游戏

如何创建和发布自己的JavaScript库?如何创建和发布自己的JavaScript库?Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

使用AJAX动态加载盒内容使用AJAX动态加载盒内容Mar 06, 2025 am 01:07 AM

本教程演示了创建通过Ajax加载的动态页面框,从而可以即时刷新,而无需全页重新加载。 它利用jQuery和JavaScript。将其视为自定义的Facebook式内容框加载程序。 关键概念: Ajax和JQuery

如何为JavaScript编写无曲奇会话库如何为JavaScript编写无曲奇会话库Mar 06, 2025 am 01:18 AM

此JavaScript库利用窗口。名称属性可以管理会话数据,而无需依赖cookie。 它为浏览器中存储和检索会话变量提供了强大的解决方案。 库提供了三种核心方法:会话

jQuery视差教程 - 动画标题背景jQuery视差教程 - 动画标题背景Mar 08, 2025 am 12:39 AM

本教程演示了如何使用jQuery创建迷人的视差背景效果。 我们将构建一个带有分层图像的标题横幅,从而创造出令人惊叹的视觉深度。 更新的插件可与JQuery 1.6.4及更高版本一起使用。 下载

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器