fbpx
维基百科

Next.js

Next.js是一個構建於 Node.js 之上的開源 Web 開發框架,支援基於 React 的 Web 應用程序功能,例如伺服器端渲染和生成靜態網站。 React 於官方文件內的“推薦的工具鏈”中提及 Next.js,建議將其作為“使用 Node.js 構建伺服器渲染網站”的解決方案。[5] 傳統的 React 應用程式只能在客戶端瀏覽器中渲染內容,Next.js 擴充了此功能以包括在伺服器端渲染的應用程式。

Next.js
Next.js logo
原作者Guillermo Rauch[1]
開發者Vercel and open-source community[2]
首次发布2016年10月25日,​6年前​(2016-10-25[3]
目前版本
  • 13.1.1 (2022年12月24日)[4]
源代码库github.com/vercel/next.js
编程语言JavaScript, TypeScript and Rust
系統平台Web platform
文件大小17.0 MB
类型Web application framework
许可协议MIT License
网站nextjs.org

Next.js 的版權和商標歸 Vercel(前身為 ZEIT)所有[6] ,該公司也維護和主導其開放原始碼專案的開發。[7]

背景

Next.js 是一個 React 框架,它支援一些額外的功能,包括伺服器端渲染和靜態網站生成。[8] React 是一個 JavaScript 庫,傳統上用於構建使用 JavaScript 在客戶端瀏覽器中渲染的網頁應用程式。[9] 然而開發者意識到這種策略存在一些問題,例如無法滿足無法訪問或禁用 JavaScript 的用戶、潛在的安全問題、明顯延長頁面載入時間以及可能損害網站的整體搜索引擎優化。[9] 諸如 Next.js 之類的框架利用允許在發送到客戶端之前在伺服器端渲染部分或全部網站來避開這些問題。[9][10] Next.js 是最流行的 React 框架之一。[11] 它是啟動新應用程序時可用的幾個推薦「工具鏈」之一,所有這些都提供了一個抽象層來協助完成常見的任務。[12] Next.js 需要 Node.js 而且可以利用 Node Package Manager 進行啟動。

Google 已向 Next.js 專案捐款,在 2019 年貢獻了 43 個拉取請求(Pull request),協助修剪了未使用的 JavaScript、減少了載入時間與增加了改進指標。[13] 截至 2020 年 3 月,該框架已被許多大型網站使用,包括 NetflixGitHubUber、Ticketmaster 和星巴克[9] 2020 年初,Vercel宣布募得了 2100 萬美元的 A 輪融資,用來支援軟體的改進。[1] 該框架的原作者 Guillermo Rauch 目前是 Vercel 的 CEO,該項目的開發主管是 Tim Neutkens。[14]

發展歷程

Next.js 於 2016 年 10 月 25 日首次在 GitHub 上作為開放原始碼專案發布。.[3] 它最初是基於六個原則開發的:開箱即用的功能,無需設定,JavaScript 無處不在,所有功能都用 JavaScript 編寫,自動程式碼拆分和伺服器渲染,可配置的資料獲取,預測請求和簡化部署.[15] Next.js 2.0 於 2017 年 3 月發布,其中包括多項改善,使小型網站開發變得更加容易。 還提高了構建效率並提高了熱模塊更換功能的可擴展性。[16] 7.0 版於 2018 年 9 月發布,改進了錯誤處理並支持 React 的上下文 API 以改進動態路由處理。也是第一個升級到 webpack 4 的版本。[17] 8.0 版於 2019 年 2 月發布,是第一個提供無伺服器應用程式部署的版本,其中程式碼被拆分為按需運行的匿名函式(Lambda function)。 該版本還減少了靜態匯出所需的時間和資源,並提高了預取性能。[18] 9.3 版於 2020 年 3 月發布,包括各種優化以及全域 Sass 和 CSS 模組支持。[19] 於2020 年 7 月 27 日,Next.js 9.5 版發布,增加了包括增量靜態再生(incremental static regeneration ISR)、重新寫入和重新導向支援在內的新功能。[20]於 2021 年 6 月 15 日 Next.js 第 11 版發布,其中包括:Webpack 5 支援、實時協作編碼功能預覽「Next.js Live」,以及從 Create React App 自動轉換為 Next.js 的實驗性功能相容形式「Create React App Migration」。[21] 2021 年 10 月 26 日,Next.js 12 發布,增加了 Rust 編譯器,使編譯速度更快,支持 AVIF,Edge Functions & 中介軟體,原生 ESM & URL 輸入。[22]

樣式和功能

Next.js 支持 CSS 樣式以及預編譯的 SCSS 和 SASS、CSS-in-JS 和Styled JSX。[12] 此外,它也利用 TypeScript 支援和智慧型捆綁構建。[23] 開放原始碼編譯器 Babel 用於將程式碼轉換和編譯成瀏覽器可用的 JavaScript。 Webpack,是另一個開放原始碼工具,用於在之後打包模組。所有這些工具都在指令終端機中與 NPM 一起使用。[13]

Next.js 的主要特點是使用伺服器端渲染來減輕網頁瀏覽器的負擔並提供增強安全性。 這可以針對應用程式的任何部分或整個專案完成,從而允許將內容豐富的頁面單獨挑出來用於伺服器端渲染。[9] 也可以僅針對首次訪客進行,以減輕尚未下載任何網站資產的網路瀏覽器的負載。[10] 「熱重載(Hot reloading)」功能會在更改發生時偵測更改並重新渲染適當的頁面,因此伺服器也避免重新啟動。 允許對應用程式的程式碼所做的更改立即反映在網頁瀏覽器中,儘管某些瀏覽器會要求重新整理。[9] 該軟件使用基於檔案系統的路由讓開發更便利,與包括對動態路由的支援。其他功能包括熱模組替換,以便可以實時替換模組,自動程式碼拆分,僅包括載入頁面所需的程式碼,以及頁面預取減少載入時間。[9]

Next.js 還支持增量靜態再生 (ISR)[24] 和靜態站點生成 (SSG) - 網站的編譯版本通常會在構建期間構建並以.next 文件夾的型式儲存。 當用戶提出請求時,作為靜態 HTML 頁面的預構建版本將被緩存並發送出去。 這會使得載入時間非常快速,但它並非適合每個網站,尤其是對於經常更改並利用大量用戶輸入的互動式網站將會變得不適合。

外部連結

参考文獻

  1. ^ 1.0 1.1 April 21, Matt Asay in Developer on; 2020; Pst, 9:51 Am. How Next.js aims to simplify front-end development. TechRepublic. 21 April 2020 [2020-10-20]. (原始内容于2022-05-23) (英语). 
  2. ^ vercel/next.js. GitHub. [2019-03-17]. (原始内容于2019-03-16). 
  3. ^ 3.0 3.1 Next.js First Release. GitHub. 2019-03-14 [2019-03-17]. (原始内容于2020-10-10). 
  4. ^ Release 13.1.1. 2022年12月24日 [2023年1月12日]. 
  5. ^ Recommended Toolchains. React documentation. [10 July 2021]. (原始内容于2022-05-17). 
  6. ^ ZEIT is now Vercel, 21 April 2020 [2022-05-18], (原始内容于2021-12-15) 
  7. ^ Develop. Preview. Ship. For the best frontend teams – Vercel. vercel.com. [2020-09-22]. (原始内容于2021-10-06). 
  8. ^ Differences Between Static Generated Sites And Server-Side Rendered Apps. Smashing Magazine. 2020-07-02 [2020-10-19]. (原始内容于2022-05-21) (英语). 
  9. ^ 9.0 9.1 9.2 9.3 9.4 9.5 9.6 Thakkar, Mohit, Thakkar, Mohit , 编, Next.js, Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications (Berkeley, CA: Apress), 2020: 93–137 [2020-10-20], ISBN 978-1-4842-5869-9, S2CID 241224880, doi:10.1007/978-1-4842-5869-9_3, (原始内容于2022-06-06) (英语) 
  10. ^ 10.0 10.1 Thakkar, Mohit, Thakkar, Mohit , 编, Adding Server-Side Rendering to Your React Application, Building React Apps with Server-Side Rendering: Use React, Redux, and Next to Build Full Server-Side Rendering Applications (Berkeley, CA: Apress), 2020: 139–152 [2020-10-20], ISBN 978-1-4842-5869-9, S2CID 216333955, doi:10.1007/978-1-4842-5869-9_4, (原始内容于2020-10-26) (英语) 
  11. ^ December 2, Matt Asay in Developer on; 2019; Pst, 11:58 Am. Why front-end development may be the new frontier. TechRepublic. 2 December 2019 [2020-10-20]. (原始内容于2022-03-25) (英语). 
  12. ^ 12.0 12.1 Comparing Styling Methods In Next.js. Smashing Magazine. 2020-09-17 [2020-10-20]. (原始内容于2022-03-19) (英语). 
  13. ^ 13.0 13.1 January 31, Matt Asay in Developer on; 2020; Pst, 6:33 Pm. An insider's look at Google's web framework contributions to Next.js and more. TechRepublic. February 2020 [2020-10-19]. (原始内容于2022-05-21) (英语). 
  14. ^ Static site generation with single page app functionality? That's what's coming Next(.js). Stack Overflow Blog. 2020-10-07 [2020-10-20]. (原始内容于2022-03-25) (美国英语). 
  15. ^ Krill, Paul. Next step after Node.js: Framework for 'universal' JavaScript apps. InfoWorld. 2016-10-31 [2020-10-20]. (原始内容于2022-05-21) (英语). 
  16. ^ Krill, Paul. Next.js 2.0 plays better with React and JavaScript. InfoWorld. 2017-03-28 [2020-10-20]. (原始内容于2022-03-18) (英语). 
  17. ^ Krill, Paul. Next.js 7 framework compiles faster, supports WebAssembly. InfoWorld. 2018-09-21 [2020-10-20]. (原始内容于2022-05-21) (英语). 
  18. ^ Krill, Paul. Next.js 8 now supports serverless apps. InfoWorld. 2019-02-14 [2020-10-20]. (原始内容于2022-05-21) (英语). 
  19. ^ Krill, Paul. Next.js upgrade emphasizes static site generation. InfoWorld. 2020-03-12 [2020-10-20]. (原始内容于2022-05-21) (英语). 
  20. ^ Krill, Paul. Next.js adds incremental static pages regeneration. InfoWorld. July 27, 2020 [September 22, 2020]. (原始内容于October 2, 2020). 
  21. ^ Next.js 11. [2021-07-10]. (原始内容于2022-05-07). 
  22. ^ Next.js 12. nextjs.org. [2021-10-27]. (原始内容于2022-06-02) (英语). 
  23. ^ Krill, Paul. Next.js 8 now supports serverless apps. InfoWorld. February 14, 2019 [September 22, 2020]. (原始内容于October 2, 2020). 
  24. ^ Incremental Static Regeneration with Next.js. Vercel. [2022-03-06]. (原始内容于2022-04-10) (英语). 

next, 是一個構建於, node, 之上的開源, 開發框架, 支援基於, react, 應用程序功能, 例如伺服器端渲染和生成靜態網站, react, 於官方文件內的, 推薦的工具鏈, 中提及, 建議將其作為, 使用, node, 構建伺服器渲染網站, 的解決方案, 傳統的, react, 應用程式只能在客戶端瀏覽器中渲染內容, 擴充了此功能以包括在伺服器端渲染的應用程式, logo原作者guillermo, rauch, 開發者vercel, open, source, community, 首次发布2016. Next js是一個構建於 Node js 之上的開源 Web 開發框架 支援基於 React 的 Web 應用程序功能 例如伺服器端渲染和生成靜態網站 React 於官方文件內的 推薦的工具鏈 中提及 Next js 建議將其作為 使用 Node js 構建伺服器渲染網站 的解決方案 5 傳統的 React 應用程式只能在客戶端瀏覽器中渲染內容 Next js 擴充了此功能以包括在伺服器端渲染的應用程式 Next jsNext js logo原作者Guillermo Rauch 1 開發者Vercel and open source community 2 首次发布2016年10月25日 6年前 2016 10 25 3 目前版本13 1 1 2022年12月24日 4 源代码库github wbr com wbr vercel wbr next wbr js编程语言JavaScript TypeScript and Rust系統平台Web platform文件大小17 0 MB类型Web application framework许可协议MIT License网站nextjs wbr orgNext js 的版權和商標歸 Vercel 前身為 ZEIT 所有 6 該公司也維護和主導其開放原始碼專案的開發 7 目录 1 背景 2 發展歷程 3 樣式和功能 4 外部連結 5 参考文獻背景 编辑Next js 是一個 React 框架 它支援一些額外的功能 包括伺服器端渲染和靜態網站生成 8 React 是一個 JavaScript 庫 傳統上用於構建使用 JavaScript 在客戶端瀏覽器中渲染的網頁應用程式 9 然而開發者意識到這種策略存在一些問題 例如無法滿足無法訪問或禁用 JavaScript 的用戶 潛在的安全問題 明顯延長頁面載入時間以及可能損害網站的整體搜索引擎優化 9 諸如 Next js 之類的框架利用允許在發送到客戶端之前在伺服器端渲染部分或全部網站來避開這些問題 9 10 Next js 是最流行的 React 框架之一 11 它是啟動新應用程序時可用的幾個推薦 工具鏈 之一 所有這些都提供了一個抽象層來協助完成常見的任務 12 Next js 需要 Node js 而且可以利用 Node Package Manager 進行啟動 Google 已向 Next js 專案捐款 在 2019 年貢獻了 43 個拉取請求 Pull request 協助修剪了未使用的 JavaScript 減少了載入時間與增加了改進指標 13 截至 2020 年 3 月 該框架已被許多大型網站使用 包括 Netflix GitHub Uber Ticketmaster 和星巴克 9 2020 年初 Vercel宣布募得了 2100 萬美元的 A 輪融資 用來支援軟體的改進 1 該框架的原作者 Guillermo Rauch 目前是 Vercel 的 CEO 該項目的開發主管是 Tim Neutkens 14 發展歷程 编辑Next js 於 2016 年 10 月 25 日首次在 GitHub 上作為開放原始碼專案發布 3 它最初是基於六個原則開發的 開箱即用的功能 無需設定 JavaScript 無處不在 所有功能都用 JavaScript 編寫 自動程式碼拆分和伺服器渲染 可配置的資料獲取 預測請求和簡化部署 15 Next js 2 0 於 2017 年 3 月發布 其中包括多項改善 使小型網站開發變得更加容易 還提高了構建效率並提高了熱模塊更換功能的可擴展性 16 7 0 版於 2018 年 9 月發布 改進了錯誤處理並支持 React 的上下文 API 以改進動態路由處理 也是第一個升級到 webpack 4 的版本 17 8 0 版於 2019 年 2 月發布 是第一個提供無伺服器應用程式部署的版本 其中程式碼被拆分為按需運行的匿名函式 Lambda function 該版本還減少了靜態匯出所需的時間和資源 並提高了預取性能 18 9 3 版於 2020 年 3 月發布 包括各種優化以及全域 Sass 和 CSS 模組支持 19 於2020 年 7 月 27 日 Next js 9 5 版發布 增加了包括增量靜態再生 incremental static regeneration ISR 重新寫入和重新導向支援在內的新功能 20 於 2021 年 6 月 15 日 Next js 第 11 版發布 其中包括 Webpack 5 支援 實時協作編碼功能預覽 Next js Live 以及從 Create React App 自動轉換為 Next js 的實驗性功能相容形式 Create React App Migration 21 2021 年 10 月 26 日 Next js 12 發布 增加了 Rust 編譯器 使編譯速度更快 支持 AVIF Edge Functions amp 中介軟體 原生 ESM amp URL 輸入 22 樣式和功能 编辑Next js 支持 CSS 樣式以及預編譯的 SCSS 和 SASS CSS in JS 和Styled JSX 12 此外 它也利用 TypeScript 支援和智慧型捆綁構建 23 開放原始碼編譯器 Babel 用於將程式碼轉換和編譯成瀏覽器可用的 JavaScript Webpack 是另一個開放原始碼工具 用於在之後打包模組 所有這些工具都在指令終端機中與 NPM 一起使用 13 Next js 的主要特點是使用伺服器端渲染來減輕網頁瀏覽器的負擔並提供增強安全性 這可以針對應用程式的任何部分或整個專案完成 從而允許將內容豐富的頁面單獨挑出來用於伺服器端渲染 9 也可以僅針對首次訪客進行 以減輕尚未下載任何網站資產的網路瀏覽器的負載 10 熱重載 Hot reloading 功能會在更改發生時偵測更改並重新渲染適當的頁面 因此伺服器也避免重新啟動 允許對應用程式的程式碼所做的更改立即反映在網頁瀏覽器中 儘管某些瀏覽器會要求重新整理 9 該軟件使用基於檔案系統的路由讓開發更便利 與包括對動態路由的支援 其他功能包括熱模組替換 以便可以實時替換模組 自動程式碼拆分 僅包括載入頁面所需的程式碼 以及頁面預取減少載入時間 9 Next js 還支持增量靜態再生 ISR 24 和靜態站點生成 SSG 網站的編譯版本通常會在構建期間構建並以 next 文件夾的型式儲存 當用戶提出請求時 作為靜態 HTML 頁面的預構建版本將被緩存並發送出去 這會使得載入時間非常快速 但它並非適合每個網站 尤其是對於經常更改並利用大量用戶輸入的互動式網站將會變得不適合 外部連結 编辑Next js 網站 页面存档备份 存于互联网档案馆 Next js 原始碼 页面存档备份 存于互联网档案馆 参考文獻 编辑 1 0 1 1 April 21 Matt Asay in Developer on 2020 Pst 9 51 Am How Next js aims to simplify front end development TechRepublic 21 April 2020 2020 10 20 原始内容存档于2022 05 23 英语 vercel next js GitHub 2019 03 17 原始内容存档于2019 03 16 3 0 3 1 Next js First Release GitHub 2019 03 14 2019 03 17 原始内容存档于2020 10 10 Release 13 1 1 2022年12月24日 2023年1月12日 Recommended Toolchains React documentation 10 July 2021 原始内容存档于2022 05 17 ZEIT is now Vercel 21 April 2020 2022 05 18 原始内容存档于2021 12 15 Develop Preview Ship For the best frontend teams Vercel vercel com 2020 09 22 原始内容存档于2021 10 06 Differences Between Static Generated Sites And Server Side Rendered Apps Smashing Magazine 2020 07 02 2020 10 19 原始内容存档于2022 05 21 英语 9 0 9 1 9 2 9 3 9 4 9 5 9 6 Thakkar Mohit Thakkar Mohit 编 Next js Building React Apps with Server Side Rendering Use React Redux and Next to Build Full Server Side Rendering Applications Berkeley CA Apress 2020 93 137 2020 10 20 ISBN 978 1 4842 5869 9 S2CID 241224880 doi 10 1007 978 1 4842 5869 9 3 原始内容存档于2022 06 06 英语 10 0 10 1 Thakkar Mohit Thakkar Mohit 编 Adding Server Side Rendering to Your React Application Building React Apps with Server Side Rendering Use React Redux and Next to Build Full Server Side Rendering Applications Berkeley CA Apress 2020 139 152 2020 10 20 ISBN 978 1 4842 5869 9 S2CID 216333955 doi 10 1007 978 1 4842 5869 9 4 原始内容存档于2020 10 26 英语 December 2 Matt Asay in Developer on 2019 Pst 11 58 Am Why front end development may be the new frontier TechRepublic 2 December 2019 2020 10 20 原始内容存档于2022 03 25 英语 12 0 12 1 Comparing Styling Methods In Next js Smashing Magazine 2020 09 17 2020 10 20 原始内容存档于2022 03 19 英语 13 0 13 1 January 31 Matt Asay in Developer on 2020 Pst 6 33 Pm An insider s look at Google s web framework contributions to Next js and more TechRepublic February 2020 2020 10 19 原始内容存档于2022 05 21 英语 Static site generation with single page app functionality That s what s coming Next js Stack Overflow Blog 2020 10 07 2020 10 20 原始内容存档于2022 03 25 美国英语 Krill Paul Next step after Node js Framework for universal JavaScript apps InfoWorld 2016 10 31 2020 10 20 原始内容存档于2022 05 21 英语 Krill Paul Next js 2 0 plays better with React and JavaScript InfoWorld 2017 03 28 2020 10 20 原始内容存档于2022 03 18 英语 Krill Paul Next js 7 framework compiles faster supports WebAssembly InfoWorld 2018 09 21 2020 10 20 原始内容存档于2022 05 21 英语 Krill Paul Next js 8 now supports serverless apps InfoWorld 2019 02 14 2020 10 20 原始内容存档于2022 05 21 英语 Krill Paul Next js upgrade emphasizes static site generation InfoWorld 2020 03 12 2020 10 20 原始内容存档于2022 05 21 英语 Krill Paul Next js adds incremental static pages regeneration InfoWorld July 27 2020 September 22 2020 原始内容存档于October 2 2020 Next js 11 2021 07 10 原始内容存档于2022 05 07 Next js 12 nextjs org 2021 10 27 原始内容存档于2022 06 02 英语 Krill Paul Next js 8 now supports serverless apps InfoWorld February 14 2019 September 22 2020 原始内容存档于October 2 2020 Incremental Static Regeneration with Next js Vercel 2022 03 06 原始内容存档于2022 04 10 英语 取自 https zh wikipedia org w index php title Next js amp oldid 75457402, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。