自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

圖片圖片

規(guī)模

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

圖片圖片

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

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

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

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

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

圖片圖片

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

考慮 nextra

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

圖片圖片

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

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

但這也是一個(gè)很好的開(kāi)始。

選用 Next.js

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

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

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

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

圖片圖片

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

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

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

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

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

圖片圖片

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

責(zé)任編輯:武曉燕 來(lái)源: 編程界
相關(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開(kāi)發(fā)指南基礎(chǔ)介紹

2012-05-30 09:12:46

NodeJSRubyRails

2025-02-03 00:00:35

2011-09-09 14:23:13

Node.js

2011-11-01 10:30:36

Node.js

2011-09-08 13:46:14

node.js

2011-09-02 14:47:48

Node

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2021-07-09 00:24:10

No.jsNode.js原理

2025-01-17 09:29:42

2024-12-13 08:37:32

2021-12-25 22:29:57

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

2024-09-04 10:27:53

2024-04-28 10:56:34

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

2020-05-29 15:33:28

Node.js框架JavaScript

2012-02-03 09:25:39

Node.js

2015-06-23 15:27:53

HproseNode.js
點(diǎn)贊
收藏

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