歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Next.js提供了基於React的簡單通用JavaScript框架

Next.js提供了基於React的簡單通用JavaScript框架

日期:2017/3/1 9:10:01   编辑:Linux編程

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

來自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中,每個路由都是一個簡單的ES6模塊,這個模塊會導出一個函數或擴展自React.Component的類。

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上已經開源。

查看英文原文:Next.js Offers Simple Universal JavaScript Framework Based on React

Copyright © Linux教程網 All Rights Reserved