前几天,将这个网站从单纯的SPA转为SSR的工作结束了,又花了两天将静态文件放入阿里云的OSS服务进行加速(因为是香港服务器好多CDN不能用)这下大部分工作都算结束了......接下来说说这个拥有三重存在,二重幻影的网站的捏造史。
一定要明确自己的需求!
警惕欲望陷阱
0前端知识的我:
“SPA?流畅地切换网页好棒哦,但是为这个要学一个新的框架诶,值得吗?”思考了好久艰难拒绝,学习django的模版系统并摸着做了几个月(刚开始做得又慢又摆)。
“vue组件感觉好棒,只用这*模版也太难写了吧?”于是又上了一套vue网课,将vue作为组件安在django模版里用......(又摸了几个月)
“......”
“达咩哒,这绝望的白屏切换也太丑陋了。”因为和设想中的动态连贯可爱的东西完全不同(现在也完全不同),痛下决心改为SPA。又在b站大学进修了vite课程后,将整套模版网页废弃,开始了前后端分离的SPA项目。(蜕下第一层蛹壳)
“SSR?”
“SEO?也没有很想要啦,这种事情怎样都好啦。而且服务端渲染,服务器会不会很累呀?我的话一定会买个贫穷的服务器呀!”于是又目标坚定地摸了几个月,跨越了无数愚蠢和不知所谓的初次开发会遇到的苦痛和迷茫,终于揉出了一个可爱的,完整的,一体的,代码混乱的,高耦合的,难以修改的单页网站。
我欣慰地摆弄着这个倾注了爱心编织出的小家伙,心里想:是时候了!
我又回到b站大学的摇篮,选修了nginx和服务器课程,并在权衡利弊后买了一个香港服务器。
(大概在一年前,我用学生新用户权益嫖了3个月的阿里云服务器,并买了域名。但是我高估我的行动力了,那个服务器在死之前,cpu也没有转过。)
部署过程中,作为初学者,也痛苦不堪地撞到了解决不完的问题。但是在我之前有无数的初学者和大佬,因此我得以踩着他们的躯体和奉献精神,将解决不完的问题也解决完了。一直以来谢谢了......
“他/她的网站能看到数据欸......欸?大家都是这样吗?好不舒服......我也想要......”甚至连理由都不充分,秉持着“我都想要”的想法,我又决定将SSR纳入补完计划。在尝试了几个vite的ssr插件之后,得到的只有满屏的错误,我觉得不系统性地重构是不行的。于是我又进修了nuxt3,花了大概2周的时间,将项目迁移到了nuxt上。(化蛹为蝶)又琢磨了一下SEO和静态文件加速方案,大部分工作总算可以说完成了。
反思历史错误
可以不要但不“能”没有,这是很重要的事。当你想要却发现做不到,这是很可怕的事。当然,做不到只是程度的问题,问题是要花多少时间做到。
最好在最开始就有计划,有设计地设计草案,并尽量少修改计划,也就是说一开始就考虑得周全,完备一些。当然,项目进行中肯定免不了修改,设计就是为了减少这个频率和程度而存在的。修改的成本也会随着时间越变越大,所以前期准备得越充分越好呢!代码也最好从一开始就保持规范和模块化。秉持高内聚低耦合之类的原则。(尽是一些教科书上会讲的话呢)
我很喜欢在细节和末微之处花费(浪费)时间,经常为了调几个尺寸或者动画就花费一整天时间呢。但是我不想将此当做错误,也不后悔。说到底,做这么一个网站有什么意义呢?想要成果的话会有更简单普通的方法,用个CMS或者博客框架说不定就能搞定大部分工作了。锻炼或者学习吗?当然有帮助,但是这种方式太拐弯抹角了。锻炼和学习只能当做副产品,是支线奖励哒。
因为我喜欢捏造,塑形的过程,喜欢创造性的活动,喜欢在调整弧角和颜色上浪费时间,所以才会做这种事呀。我是这样想的,大概。
主页最上面的那个 ( ^-^)_旦~~ 按钮,背景来自《39music!》的mv。我在一个设计网站看到有人用css蒙版捏了一个蝙蝠侠logo背景的按钮,于是灵光一闪做了这个。调整这个按钮就不知道花了我多少时间。
审美是感性又主观的东西,有时我认为做到了完美状态,结果在第二天就有了更好的想法(当然也是主观的)。而我经常会放任自己流入这种心境中,永无止境地不断献出时间。对于这项任务来说,这当然是痛点吧。
展望历史使命
(历史这个词真有趣,忍不住再用一次)
接下来的一年,生活里要变得忙起来了。这里的东西暂时也可以告一段落了。如果有时间的话还是有很多东西可以尝试的。比如我觉得主页和其他一些页面的信息密度过低。除了文章列表和那无关紧要的音乐播放器,还能看到点其他内容就好了呢!不过加大信息密度是好是坏,还要边做边斟酌。毕竟审美是没有答案的问题呢。
还有整体布局,还是觉得有些过于右派传统了,还可以盖得更有趣一点。不过这更是一件宏大又渺茫无期的事呢。要改的话大概要动大刀。
继续输出原创内容,包括文章和“番外”页的“创作品”。毕竟这是博客的主营业务呢,不继续做绝对不行的吧。
还有些麻烦的代码问题呢,比如现在的所有数据都是没有分片(页)的,即使是“追番”页的几百条数据也是一次性传上来的,明显比其他页面要慢一点呢。我是想反正暂时很长一段时间都不会有算得上是“大量”的数据的,索性就先没写。除此之外还有一些优先度低或者不易触发的bug,索性就没管......
看看我的日志里写了什么......啊啦,还有“表情(emoji)”之类的低优先度功能,还有几个创意网页的想法,甚至还有社交平台的机器人用的api,暂时都先摆了罢......接下来几个月我应该要准备考研了,这边的事必须先放一边才行。
对了,还有手机端适配。直接摆,无需多言(一听就很麻烦,因为我写的时候没顾虑到,要改的地方很多)。
把页脚时间的起点调到3月9日吧。欸?你说居然连毫秒都算?只是动画效果啦