Nuxt、Next、Nest?!我的头好痛。
JavaScript 生态系统中目前有三种名称相似的技术。我暂时无法追踪它们,所以我打算写一篇文章,供以后参考。也希望对你们有用!
客户端与服务器端渲染
为了了解这些平台的价值,重要的是要理解开箱即用的 Vue 和 React 是客户端渲染 (CSR) 框架。在这种情况下,服务器发送响应,浏览器下载 JS 并执行框架来渲染页面,使其可查看和交互。图片来源:沃尔玛实验室工程博客
将这些平台用作服务器端渲染 (SSR) 意味着服务器将 HTML 响应直接发送到浏览器进行渲染。此时,页面即可查看。同时,浏览器会下载 JS 并执行框架,使页面可交互。图片来源:沃尔玛实验室工程博客
网站性能的衡量指标有很多,其中之一就是“首次渲染时间”。这衡量的是页面上内容呈现的速度。在这个指标以及其他指标中,SSR 通常性能更佳。这专门用于比较 SSR 与 CSR,静态网站不包含在内(它们通常是性能最高的)。
现在,在两种情况下(Next 和 Nuxt),应用的初始加载都是服务器端渲染。之后,再使用客户端渲染。这就是所谓的“通用渲染”。理论上,这是两全其美的。
所以,既然我们理解了这个概念,解释这两种技术就容易多了。
什么是通用 JavaScript 框架?
Nuxt 和 Next 被描述为“通用 JavaScript 框架”。这是什么意思呢?其实就是说它们支持通用渲染。
Nuxt
Nuxt是一个基于 Vue 的通用应用程序框架。它负责处理服务器端渲染 Vue 应用程序所需的所有配置,包括 webpack、babel 和 node 的设置。
Nuxt 还支持静态渲染的应用程序。
下一个
由此我们可以看出为什么它们的名字如此相似。Next的功能与 Nuxt 相同,但面向的是 React 应用。它是一个利用 React 构建通用应用程序的框架。
那么 Nest 怎么样?
事实证明,Nest 与我们截然不同。Nest完全不同于 Next 和 Nuxt。正如我们上面提到的,这两种技术专注于将前端迁移到服务器端。此外,它们分别支持特定的前端框架 Vue 和 React。相比之下,Nest 是一个服务器端框架,它完全不关心前端代码。
Nest 的目标是帮助您快速开发后端。它支持 JavaScript 和 TypeScript。尽管 Nest 与前端无关,但它的结构与 Angular 类似。
也许跟踪这三种技术的最佳方式是将它们视为 Vue、React 和 Angular!
Nest 并非一个开箱即用的 Node 应用程序,而是引入了注解、最佳实践文件夹结构以及相关概念。如果您使用过 Spring for Java 等技术,您可能对这些新增功能并不陌生。
我们现在能分辨出区别吗?
那么让我们看看我们是否理解正确了。
Nuxt - 创建支持通用渲染的 Vue 应用程序的框架
Next - 创建支持通用渲染的 React 应用程序的框架
Nest - 具有附加结构和支持的节点应用程序开发框架
就这样!希望我的小抄也能帮到你。
文章来源:https://dev.to/laurieontech/nuxt-next-nest-my-head-hurts-5h98