摘要: 后端渲染3大框架。javascript
在上一篇文章中,我探讨了三种最流行的Node框架:Express、Koa和Hapi的区别、优势和缺点。在这篇文章中,咱们将研究另外三种很是流行的框架之间的区别:Next、Nuxt和Nest。这三个框架都是服务器端渲染,它们分别与React、Vue和Angular(三个目前最流行的前端框架)密切相关前端
咱们的比较将基于一下几点:vue
Next是一个React框架,容许使用React构建SSR和静态web应用java
startnode
安装react
next react react-dom是必不可少的git
npm install --save next react react-dom
复制代码
package.json 中添加脚本,以下所示:github
{
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
}
}
复制代码
next 将读取page目录下的js文件,并解析成页面路由web
Hello Worldvue-router
项目内建立目录文件 ./pages/index.js
function Home() {
return <div>Hello world!</div>;
}
export default Home;
// npm run dev
// 而后访问 http://localhost:3000
复制代码
好处
缺点
性能
性能基于一下两点
这是Next基本HelloWorld程序。每秒能处理550.87个请求。每一个请求花费的平均时间为18.153ms
复制代码
lighthouse测试报告中能够看到Preformance、Accessibility、Best Practices、SEO都高于70,虽然比其余两个框架低,但不得不说已是一个比较好的数据,Best Practices 得分nuxt则是高于其余俩个
Nuxt是一个基于Vue的通用应用框架,预设了利用Vue开发服务端渲染的应用所须要的各类配置,主要关注的是应用的UI渲染
star
安装
为了快速入门,Nuxt.js团队建立了脚手架工具 create-nuxt-app
// 确保安装了npx(npx在NPM版本5.2.0默认安装了)
npx create-nuxt-app <项目名>
复制代码
它会让你进行一些选择:在集成的服务器端框架如:Express、Koa、Hapi、Feathers、Micro、Adonis (WIP);选择您喜欢的UI框架:Bootstrap、Vuetify、Bulma、Buefy等等
Hello World
Nuxt依据 pages 目录结构自动生成 vue-router 模块的路由配置
// ./pages/index.vue
<template>
<div>
<h1>Hello world!</h1>
<NLink to="/about">
About Page
</NLink>
</div>
</template>
复制代码
好处
缺点
性能
Nuxt中的基本HelloWorld应用。每秒能处理190.05个请求。平均一个请求时间为52.619毫秒。在此度量标准上,Nuxt与其余两个框架相比表现最差
Lighthouse测试报告中Preformance、Accessibility、SEO三项中得分最高
Nest是一个渐进式Node框架,深受Angular的启发。用于构建高效,可扩展的Node.服务器端应用程序的框架。使用TypeScript构建,保留与纯JS的兼容性,集OOP(面向对象编程),FP(函数式编程),FRP(响应式编程)一身。服务引擎盖默认使用Express但也提供与各类其余库的兼容性,例如Fastify,容许轻松使用可用的无数第三方插件
安装
nest提供cli使用该cli命令安装Nest并建立新项目
npm i @nestjs/cli
nest new project-name
复制代码
或者,使用Git安装TypeScript启动项目:
git clone https://github.com/nestjs/typescript-starter.git project
cd project
npm install
npm run start
复制代码
Hello World
使用该npm cli命令建立新项目后,src目录下会出现几个核心文件,main.ts是咱们的入口
// 建立一个服务而后监听3000端口
import { NestFactory } from '@nestjs/core';
import { ApplicationModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule);
await app.listen(3000);
}
bootstrap();
// 启动起来
npm start
复制代码
好处
缺点
性能
Nest中的基本HelloWorld应用。每秒能处理928.18个请求。每一个请求的平均时间为10.774毫秒。在此指标上,Nest在咱们比较的三个框架中表现最佳
Lighthouse提供的报告中,Nest具备很是高的性能,可是accessibility, best practices,SEO得分较低
Nest不是最流行的框架但值得一试!
社区参与
Next, Nuxt, Nest比较就到这里 Preformance、Accessibility、Best Practices、SEO选择你最想要的那个吧
**原文:[Choosing the right Node.js Framework: Next, Nuxt, Nest?