在上一篇文章中,我探讨了三种最流行的Node框架:Express、Koa和Hapi的区别、优势和缺点。在这篇文章中,咱们将研究另外三种很是流行的框架之间的区别:Next、Nuxt和Nest。这三个框架都是服务器端渲染,它们分别与React、Vue和Angular(三个目前最流行的前端框架)密切相关
咱们的比较将基于一下几点:前端
Next是一个React框架,容许使用React构建SSR和静态web应用
startvue
安装node
next react react-dom是必不可少的
npm install --save next react react-dom
package.json 中添加脚本,以下所示:
{ "scripts": { "dev": "next", "build": "next build", "start": "next start" } }
next 将读取page目录下的js文件,并解析成页面路由react
Hello Worldgit
项目内建立目录文件 ./pages/index.js
function Home() { return <div>Hello world!</div>; } export default Home; // npm run dev // 而后访问 http://localhost:3000
好处github
缺点web
性能vue-router
性能基于一下两点
这是Next基本HelloWorld程序。每秒能处理550.87个请求。每一个请求花费的平均时间为18.153ms
lighthouse测试报告中能够看到Preformance、Accessibility、Best Practices、SEO都高于70,虽然比其余两个框架低,但不得不说已是一个比较好的数据,Best Practices 得分nuxt则是高于其余俩个typescript
社区活跃度npm
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选择你最想要的那个吧
哥伦比亚美女开发 Liz
Twitter: @lizparody23
Liz is a self-taught Software Engineer focused on JavaScript, and Developer Relations Manager at NodeSource. She organizes different community events such as JSConf Colombia, Pioneras Developers, Startup Weekend and has been a speaker at EmpireJS, MedellinJS, PionerasDev, and GDG.
She loves sharing knowledge, promoting JavaScript and Node.js ecosystem and participating in key tech events and conferences to enhance her knowledge and network
转载请注明出处