Nuxt3还能用吗?

Nuxt3还能用吗?

前一段时间,我完成了整个产品,从Nuxt到Next的迁移,因为面临了一些在框架层面就无法解决的问题。

payload json化

在所有的的Nuxt中,我们都能看到有这样一个东西。

其实有这个东西也很正常,在Next中也会把服务端渲染的数据挂载html保持数据同步,这就是一个水合的必要步骤。在Next中是这样的。

可以看到在Next新一点的版本中是压缩过的字符串(老版本Page Router,也是JSON格式),而在Nuxt中采用的是JSON格式.

为什么Nuxt要采用JSON?有什么好处?会面临什么问题?

好处:

其实很好理解,就是为了性能和水合的加速,我的直觉因为是因为V8的性能加速对于JSON格式,V8参考资料。所以它不做压缩。

问题:违背SSR原则

这其实有点不符合SSR的设计原则,本身来说SSR是要在更快的时间看到页面和加载完成,这种设计会让整个html document的文件大小大量的增加。假设项目有18n文件,或者首屏的请求接口非常的多在服务端完成,就会导致拉长整个接口时间。

在本身现代浏览器如此之快的背景下,去加快水合时间,而拖慢请求完成的时间,确实让我非常的不理解。

💥 矛盾暴击现场

  1. i18n地狱 🌐

    1. 服务端渲染多语言版本 → HTML体积×N倍

    2. 爬虫抓取时:"这页面怎么比新华字典还厚?📚"

  2. 接口瀑布流 🌊

    1. 服务端串行请求10个API → 链式延迟堪比春运抢票

    2. 用户内心OS:"我等得都能泡碗面了🍜"

  3. 水合加速 vs 服务端减速 🐢⚡

    1. 现代浏览器渲染飞快,但服务端被重逻辑拖累 → 前端省下的时间,全赔给后端了!

安全问题

我靠,你敢相信吗,这么大一个框架,在一定情况下,会把NUXT_PUBLIC公开的环境变量直接挂在html里(如果用到了环境变量),人都要晕了。

可以参考这个issue:https://github.com/nuxt/nuxt/issues/2033 这个问题从2017年已经到2024年了。

生态问题

不可否认的是,整个生态是欣欣向荣的,但在一些更商业和大型库生态在我看来Nuxt是不够深入的(就是Nuxt有非常多高级的语法糖和渲染方式和写法、社区在遇到更具体问题的时候解法很少),反之整个生态的方向都导向了工具、组件库、提效、性能类似的方向,让我感觉很迷茫有时候,就是大家都不做应用是把。

夸一下

毫无疑问,Nuxt框架在不考虑上述这些因素的情况下,在纯前端层面上的性能、语法便捷度、用户体验(框架基础)上绝对都是大于Next的,它也是可以用的。

欢迎加入群聊,我们一起讨论一些更有趣的技术、商业、闲聊。

相关推荐
Larcher8 分钟前
新手也能学会,100行代码玩AI LOGO
前端·llm·html
徐子颐20 分钟前
从 Vibe Coding 到 Agent Coding:Cursor 2.0 开启下一代 AI 开发范式
前端
小月鸭33 分钟前
如何理解HTML语义化
前端·html
jump6801 小时前
url输入到网页展示会发生什么?
前端
诸葛韩信1 小时前
我们需要了解的Web Workers
前端
brzhang1 小时前
我觉得可以试试 TOON —— 一个为 LLM 而生的极致压缩数据格式
前端·后端·架构
yivifu1 小时前
JavaScript Selection API详解
java·前端·javascript
这儿有一堆花1 小时前
告别 Class 组件:拥抱 React Hooks 带来的函数式新范式
前端·javascript·react.js
十二春秋2 小时前
场景模拟:基础路由配置
前端
六月的可乐2 小时前
实战干货-Vue实现AI聊天助手全流程解析
前端·vue.js·ai编程