偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Node.js 新官網(wǎng)為何選用了 Next.js?

開發(fā) 前端
在選用 Next.js 之前,有考慮過使用 nextra,這是一個基于 Next.js 和 MDX 的靜態(tài)網(wǎng)站生成器,通過 mdx 可以寫 markdown,如果有些交互類的,你還可以寫一個 jsx 組件,在 markdown 中應(yīng)用。

近期 Node.js 發(fā)布了新網(wǎng)站,帶來了全新的外觀變化??雌浼夹g(shù)選型,也是緊跟潮流,用到了最新的 Next.js App Router 框架,版本 ~14.1.3 這是 Next.js 近期的最新版本了,不過看起來同時也在用 Next.js 的 pages 模式。參考 Github https://github.com/nodejs/nodejs.org

圖片圖片

規(guī)模

nodejs.org 網(wǎng)站存在已經(jīng) 14 年了!以下是 2011 年底關(guān)于實用下載和文檔主頁的設(shè)計,當(dāng)時還是 Node.js 0.6 版本。

圖片圖片

隨著項目的發(fā)展,Node.js 網(wǎng)站的規(guī)模也在逐漸增大,包含了 1600 多個頁面,巔峰時期擁有近 20 種本地化語言、每月 30 億次請求、數(shù)據(jù)傳輸量達(dá)到 2PB。

規(guī)模增大的同時以前的設(shè)計是不能滿足當(dāng)今需求的,一個設(shè)計良好的網(wǎng)站,對用戶的吸引力也是不同的。

首次嘗試重新設(shè)計

在 2019 年進(jìn)行過首次重新設(shè)計,域名是 nodejs.dev,github 倉庫為 https://github.com/nodejs/nodejs.org 現(xiàn)在該倉庫已廢棄,nodejs.dev 這個域名默認(rèn)也是做了重定向,呈現(xiàn)的是最新官網(wǎng)設(shè)計。

技術(shù)選型看起來主要是選擇了 gatsby,這是一個基于 React 的靜態(tài)站點生成器。

圖片圖片

新技術(shù)棧的單一切換很復(fù)雜,并對網(wǎng)站已經(jīng)確立的存在造成了風(fēng)險,團隊面臨著孤立開發(fā)的挑戰(zhàn)(這個代碼庫不是社區(qū)或貢獻(xiàn)者所在的地方),現(xiàn)在回想起來,可能從一開始就無意中注定了該項目的失敗。

考慮 nextra

在選用 Next.js 之前,有考慮過使用 nextra,這是一個基于 Next.js 和 MDX 的靜態(tài)網(wǎng)站生成器,通過 mdx 可以寫 markdown,如果有些交互類的,你還可以寫一個 jsx 組件,在 markdown 中應(yīng)用。之前在做 《next.js 中文教程》https://github.com/qufei1993/nextjs-learn-cn 時也是選用的 nextra。

圖片圖片

相比 Node.js 官網(wǎng),以上項目規(guī)模是簡單多了,這種文檔形的推薦可以考慮下 nextra。

但 Node.js 官網(wǎng)一是體量大,二是有很多自定義的設(shè)置,像 nextra 框架有自己風(fēng)格的,可能很難適應(yīng)其自定義需求。

但這也是一個很好的開始。

選用 Next.js

Next.js 近兩年很火,從社區(qū)也能看到同 React 的緊密合作,對 Node.js 團隊來講不僅符合當(dāng)前貢獻(xiàn)者的技能水平,而且還能利用其強更大的工具生態(tài)系統(tǒng)。

Node.js 官網(wǎng)仍然是靜態(tài)構(gòu)建的,以確保最終用戶的速度和基礎(chǔ)托管的獨立性,還利用了 Next.js 的增量靜態(tài)再生來獲取像發(fā)布等動態(tài)內(nèi)容。

關(guān)于 Next.js 吐槽一個點,在基于 Next.js App Router 框架的開發(fā)模式下,性能是有點差的,速度很慢(同 vite 不是一個級別),經(jīng)常遇到內(nèi)存占用很多的問題(還會出現(xiàn)內(nèi)存泄漏),在最新的 Next.js 版本中內(nèi)存泄漏問題有所改善,但開發(fā)速度慢問題體驗感還不是太好,有使用過的小伙伴可以來發(fā)表下言論。

不過 Node.js 新官網(wǎng)看起來在開發(fā)模式下用的是 Next.js 在研發(fā)的新編譯器 turbo。

圖片圖片

在選用 Next.js 期間 Node.js 與 Vercel 有著密切的合作關(guān)系。當(dāng)網(wǎng)站規(guī)模使 webpack 的內(nèi)存管理在靜態(tài)導(dǎo)出時受到壓力時,他們提供了直接支持(有官方對支持還是不一樣的)。

“這在某種程度上是一種共生關(guān)系。我們的需求推動了他們的平臺改進(jìn),而他們的平臺使我們能夠構(gòu)建一個更好的網(wǎng)站。我們在公開發(fā)布之前對新版本進(jìn)行了測試,這是對框架進(jìn)行現(xiàn)實世界壓力測試的真實情況”。

在新網(wǎng)站的設(shè)計過程中,還有些其它方面的內(nèi)容。

  • OpenJS 基金會的幫助資助
  • 與設(shè)計師 Hayden Bleasel 對新官網(wǎng)的重新設(shè)計
  • 使用 Orama 實現(xiàn)對網(wǎng)站的搜索
  • 使用 Sentry 進(jìn)行錯誤報告監(jiān)控

以下是 Node.js 新官網(wǎng)的首頁。

圖片圖片

參考 https://nodejs.org/en/blog/announcements/diving-into-the-nodejs-website-redesign。

責(zé)任編輯:武曉燕 來源: 編程界
相關(guān)推薦

2025-01-03 09:12:11

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2025-02-03 00:00:35

2012-05-30 09:12:46

NodeJSRubyRails

2024-12-13 08:37:32

2011-09-08 13:46:14

node.js

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-09 14:23:13

Node.js

2011-11-10 08:55:00

Node.js

2012-10-24 14:56:30

IBMdw

2025-01-17 09:29:42

2024-04-28 10:56:34

Next.jsWeb應(yīng)用搜索引擎優(yōu)化

2024-09-04 10:27:53

2021-07-09 00:24:10

No.jsNode.js原理

2021-12-25 22:29:57

Node.js 微任務(wù)處理事件循環(huán)

2025-03-06 00:00:00

2020-12-14 11:40:27

Next.js SSRReact

2024-12-16 08:40:51

點贊
收藏

51CTO技術(shù)棧公眾號