尝试NextJS教程有感

Author: R.W.Flurando

Tags: js

起因

网页从一开始文件服务器加静态html,到后来的后端按模板实时生成,自动路由一直是最方便的功能。

这是因为需要纯服务器走且自动路由页不行的情况仅限于开发API,而且偏后端,大多数我们可以在浏览器查看内容的网页都可以用页路由的方式做出来。

前几天我用Kawa Scheme尝试了JVM平台的Servlet模式,一个道理,这次就想看看最时髦的前端JS圈怎么玩这个,于是打开了NextJS的官网。

经过

一开始,我确实被惊艳到了。

虽然npm下依赖是真的又臭又长,对网络线路有较高要求,但按要求建立项目后,确实比我用的Guile Haunt/Emacs Org Publish等静态网页生成器漂亮。

可以说,前端开发所谓的先进是牺牲开发者体验换来用户体验。

开发者失去的体验包括:

  1. 深度自定义

    不用多说吧,即便你用的全是开源js,随便一个npm命令就能给node_modules新建十几个文件夹,再加上js本身的简陋难看,只能人工忽略源代码。

  2. 平台移植 换技术栈的时候除了用户数据,所有和开发者相关的内容都要重头来,真的会气笑

用户得到的体验包括:

  1. 更现代的网页

    无论是布局,资源加载,屏幕适配,默认配置下就能甩传统建站方案几条街道,除非加商业级定制主题,比如Wordpress配付费主题。

    像Guile Haunt这种冷门SSG,或者Emacs Org这种远古技术,一看就不像2026年的网页。

  2. 更多的广告

Page Route教程开始十来个还很好,到后面全是“让我们再引入一个npm依赖吧,它有巴拉巴拉一大堆先进功能”这种话。

结果是项目内的文件夹越来越多,还一堆各种各样的用JSON/HJSON、TOML甚至UNIX_CONF写的配置文件,最后再指导你如何webpack之类的。

这复杂度都不亚于JVM那里配置Tomcat了好吗……

感想

不过,NextJS最方便的不是学习模板和CSS后就能做出看起来很专业的网站,而是能一键发布在Vercel本家。

跑题了。

话说回来,我还是决定用普通的SSG生成静态站,动态内容单独开发API即可,反正浏览器端需要的动态也可以引入静态的JS来解决。