摘要: 後端渲染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?