在上一篇文章中,我探討了三種最流行的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
轉載請註明出處