首頁 web前端 js教程 Next.js開源,提供基於React的簡單通用JS框架

Next.js開源,提供基於React的簡單通用JS框架

Nov 21, 2016 pm 01:22 PM
Next.js

新的通用JavaScript框架Next.js目前已經開源了,它為基於React和伺服器的網路應用程式提供了一個新的選用方案。

  來自Zeit的團隊在React的基礎和元件模型上建構了Next.js,同時也提供了一個關鍵擴充:透過使用名為getInitialProps()的元件生命週期鉤子方法,框架能夠在伺服器上進行初始渲染,如果需要的話,還可以在客戶端繼續渲染。不過這個高級特性是一個很小卻功能強大的框架所額外提供的。

  按照Next.js的最小功能集,它提供了一種便利的方式來創建新的Web應用,這個過程中,並不需要很多的工具集配置。類似create-react-app,安裝這個框架會建立一個基於React、Webpack和Babel的建置流程。以往編寫React元件的開發人員將會基於React語法來建立頁面,每個頁面提供了一個render函數:

import React from 'react'export default () => Hello world!


  Next.js使用filesystem作為API,所以每個放到pages資料夾中的元件將會自動對應為一個基於伺服器的路由。例如,磁碟上的pages/about.js元件將會自動服務/about這個URL。

  與express-react-views這樣的專案不同,它是建立在Express之上的視圖引擎,而next.js是一個頂層的服務層,只渲染JavaScript函數的結果。為了實現這一點,該專案使用glamor來處理CSS,而不是依賴單獨的CSS檔案。

  Next.js這種本質上的傾向性會有一些微妙的優勢,其中之一就是開發人員不必在搭建Webpack或Babel配置上花費時間了。以往,這兩個步驟就會耗費開發人員很多的時間。要執行某個網站的開發版本,只需執行npm run dev。

  對於一些開發團隊來說,通用(Universal)的JavaScript依然是一項更為高級的技術,很多的框架都有自己的實作。 Angular 2有Universal Angular 2, Ember有Fastboot。在React領域中,這方面的可選方案也不少,例如Walmart的Electrode和Redfin的React Server。現在,Next.js作為一個很簡單的可選方案,具有很大的潛力。該專案在GitHub上已經開源。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

Rimworld Odyssey溫度指南和Gravtech
1 個月前 By Jack chen
初學者的Rimworld指南:奧德賽
1 個月前 By Jack chen
PHP變量範圍解釋了
4 週前 By 百草
撰寫PHP評論的提示
3 週前 By 百草
在PHP中評論代碼
3 週前 By 百草

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1604
29
PHP教程
1509
276
使用Next.js解釋的服務器端渲染 使用Next.js解釋的服務器端渲染 Jul 23, 2025 am 01:39 AM

Server-siderendering(SSR)inNext.jsgeneratesHTMLontheserverforeachrequest,improvingperformanceandSEO.1.SSRisidealfordynamiccontentthatchangesfrequently,suchasuserdashboards.2.ItusesgetServerSidePropstofetchdataperrequestandpassittothecomponent.3.UseSS

Next.js中的類型安全API路由 Next.js中的類型安全API路由 Jul 27, 2025 am 02:17 AM

使用Zod可在Next.js中實現類型安全的API路由,首先定義請求和響應的Schema,接著通過高階函數withValidation校驗並註入類型,最後在路由中使用該封裝確保輸入輸出均經過驗證,還可複用Schema生成前端類型以保證一致性。 1.定義Schema校驗請求體、查詢參數和響應結構;2.創建withValidation函數自動解析並類型化請求;3.在API路由中應用該函數實現全鏈路類型安全;4.可選校驗響應體並封裝工具函數;5.前端直接導入Zod生成的類型確保前後端類型一致,從而提升開

Next.js應用程序路由器中的國際化(I18N) Next.js應用程序路由器中的國際化(I18N) Jul 29, 2025 am 03:48 AM

Next.jsAppRouter實現國際化的核心方法是結合next-intl庫進行多語言管理,首先在next.config.js中配置i18n路由支持,定義locales、defaultLocale和localeDetection;2.安裝next-intl後創建messages目錄存放各語言JSON文件,並通過middleware.js使用withI18nRouting自動處理語言前綴路由;3.在app/layout.tsx中驗證locale並加載對應語言消息,使用NextIntlClient

混音與Next.JS:全棧框架之戰 混音與Next.JS:全棧框架之戰 Jul 28, 2025 am 12:20 AM

Remix和Next.js的核心區別在於數據處理:Remix使用loader和action實現服務端統一請求響應,原生支持表單提交與重定向,減少客戶端請求和錯誤;Next.js依賴getServerSideProps或API路由配合前端fetch,數據流清晰但易產生水合不一致。 2.路由方面,兩者均採用文件即路由,但Remix的嵌套路由更自然,子路由繼承佈局並通過useOutlet渲染,適合複雜中後台;Next.js的AppRouter支持嵌套和ReactServerComponents,但結構較

Sveltekit vs. Next.js:正面比較 Sveltekit vs. Next.js:正面比較 Jul 31, 2025 am 11:17 AM

SvelteKit基於編譯時框架Svelte,無虛擬DOM,運行時更輕量,性能更高,尤其適合性能敏感場景;2.Next.js基於React,生態龐大,學習曲線平緩,適合團隊協作和快速開發;3.SvelteKit在包體積、首屏加載和hydration優化上表現更優,支持島嶼架構;4.Next.js在企業級項目、複雜集成和部署支持方面生態更成熟;5.若追求性能與簡潔語法,選SvelteKit,若重生態與協作,選Next.js,選擇應基於項目需求與團隊技術棧。

Next.js中的nextAuth.js的身份驗證 Next.js中的nextAuth.js的身份驗證 Aug 01, 2025 am 05:00 AM

NextAuth.js是Next.js的認證庫,支持OAuth、郵件密碼、JWT等方式;2.安裝後在pages/api/auth/[...nextauth].js配置提供者和密鑰;3.通過SessionProvider包裹應用並使用useSession、signIn、signOut管理狀態;4.用getSession或getServerSession保護頁面和API路由;5.可添加Credentials提供者實現郵箱密碼登錄並配合JWT策略;6.可自定義登錄頁面並通過回調擴展用戶信息;NextA

如何在vscode中調試next.js應用程序? 如何在vscode中調試next.js應用程序? Aug 06, 2025 am 08:47 AM

todebuganext.jsapplicationinvscode,createalaunch.jsonfileinthe.vscodefolderwithaconfigurationthatlaunchesthenext.jsde vserverusingthenodetypeantsetsetsettheprogramto $ {workspaceFolder}/node_modules/next/dist/dist/bin/nextwithargs [“ dev”,' - port = 300

使用Next.js和NextAuth.js實施身份驗證 使用Next.js和NextAuth.js實施身份驗證 Jul 30, 2025 am 04:29 AM

安裝next-auth並創建API路由文件app/api/auth/[...nextauth]/route.js配置Google登錄和secret;2.在.env.local中設置GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET和NEXTAUTH_SECRET;3.使用signIn和signOut方法添加登錄登出按鈕,並用SessionProvider包裹應用;4.通過getServerSession保護單個頁面或使用withAuth中間件保護指定路由;5.可選擴展se

See all articles