摘要:服務端渲染的手腳架這個啟動包的設計是為了讓你使用一整套最新最酷的前端技術,所有都是可配置,富特性,基于已經提供代碼熱加載,使用預處理,單元測試,代碼覆蓋率報告,代碼分割等等更多。
Universal React Starter Kit
服務端渲染的React手腳架
這個啟動包的設計是為了讓你使用一整套最新最酷的前端技術,所有都是可配置,富特性,基于webpack已經提供代碼熱加載,使用sass預處理css,單元測試,代碼覆蓋率報告,代碼分割等等更多。
這個項目最主要的目的是盡可能果斷的保留。目的不是要你一定按照這個結構去完成你的項目,諧在使前端開發更健壯,更簡單還有最重要的是更快樂。你可以獲得以下的所有特性!
最后,如果沒有大家的貢獻,這個項目是不可能如此健壯的,所以,謝謝大家。
覺得不錯的話,請Star一下本項目,這是對作者最大的支持。
所有相關庫已準備好,隨時等待調用。
特性react
redux
react-router
react-router-redux
webpack
babel
koa
karma
eslint
需求配置node ^4.5.0
npm ^3.0.0
開始確認好你的環境配置,然后就可以開始以下步驟。
$ git clone https://github.com/bodyno/react-starter-kit.git $ cd react-starter-kit $ npm install # Install project dependencies $ npm start # Compile and launch
如果一切順利,你會看到如下:
開發過程中,你用得最多的會是npm start,但是這里還有很多其它的處理:
npm run | 解釋 |
---|---|
start | 服務啟動在3000端口,代碼熱替換開啟。 |
compile | 編譯程序到dist目錄下(默認目錄~/dist)。 |
dev | 與npm start相同, 但是啟動nodemon守護進程。 |
dev:no-debug | 與npm run dev 但是禁用devtool(開發工具)。 |
test | 開啟Karma測試并生成覆蓋率報告。 |
test:dev | 開啟Karma測試并監聽改變隨時重新測試,但是生成覆蓋率報告。 |
deploy | 啟動代碼檢查,測試,如果成功,編譯到dist目錄下。 |
deploy:dev | 與deploy相同,但是NODE_ENV值為"development"。 |
deploy:prod | 與deploy相同,但是NODE_ENV值為"production"。 |
lint | 檢查所有.js文件是否規范。 |
lint:fix | 檢查所有.js文件是否規范并修復它們。 更多 |
這個項目的結構使用的是 fractal(不規則碎片形:適合大型項目)*,方法的分組主要是依照特性而不是文件類型。注意,這個目錄結構只是一個指引,并不一定要按這個來。這種結構諧在讓程序更容易擴展,想了解更多請點擊這里。
. ├── bin # 啟動腳本 ├── blueprints # redux-cli的藍圖 ├── build # 所有打包配置項 │ └── webpack # webpack的指定環境配置文件 ├── config # 項目配置文件 ├── server # Koa 程序 (使用 webpack 中間件) │ └── main.js # 服務端程序入口文件 ├── src # 程序源文件 │ ├── main.js # 程序啟動和渲染 │ ├── components # 全局可復用的表現組件(Presentational Components) │ ├── containers # 全局可復用的容器組件 │ ├── layouts # 主頁結構 │ ├── static # 靜態文件(不要到處imported源文件) │ ├── styles # 程序樣式 │ ├── store # Redux指定塊 │ │ ├── createStore.js # 創建和使用redux store │ │ └── reducers.js # Reducer注冊和注入 │ └── routes # 主路由和異步分割點 │ ├── index.js # 用store啟動主程序路由 │ ├── Root.js # 為上下文providers包住組件 │ └── Home # 不規則路由 │ ├── index.js # 路由定義和代碼異步分割 │ ├── assets # 組件引入的靜態資源 │ ├── components # 直觀React組件 │ ├── container # 連接actions和store │ ├── modules # reducers/constants/actions的集合 │ └── routes ** # 不規則子路由(** 可選擇的) └── tests # 單元測試樣式
所有的css和sass都支持會被預處理。只要被引入,都會經過PostCSS壓縮,加前綴。在生產環境下會提取到一個css文件下。
服務端這個項目的服務端使用Koa。需要注意的是,只有一個目的那就是提供了webpack-dev-middleware 和 webpack-hot-middleware(代碼熱替換)。使用自定義的Koa程序替換webpack-dev-server,讓它更容易實現universal 渲染和為了不使這個包過于龐大。
打包優化Babel被配置babel-plugin-transform-runtime可以讓代碼更優化。另外,在生產環境,我們使用react-optimize來優化React代碼。
在生產環境下,webpack會導出一個css文件并壓縮Javascript,并把js模塊優化到最好的性能。
靜態部署如果你正在使用nginx處理程序,確保所有的路由都直接指向 ~/dist/index.html 文件,然后讓react-router處理剩下的事。如果你不是很確定應該怎么做,文檔在這里。Express在腳手架中用于擴展服務和代理API,或者其它你想要做的事,這完全取決于你。
謝謝大家如果沒有大家的貢獻,這個項目是不可能誕生的, 感謝所有為這個項目做出貢獻的人。
鏈接在這里
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/50174.html
摘要:服務端渲染的手腳架這個啟動包的設計是為了讓你使用一整套最新最酷的前端技術,所有都是可配置,富特性,基于已經提供代碼熱加載,使用預處理,單元測試,代碼覆蓋率報告,代碼分割等等更多。 Universal React Starter Kit 服務端渲染的React手腳架 這個啟動包的設計是為了讓你使用一整套最新最酷的前端技術,所有都是可配置,富特性,基于webpack已經提供代碼熱加載,使用...
摘要:服務端渲染的手腳架這個啟動包的設計是為了讓你使用一整套最新最酷的前端技術,所有都是可配置,富特性,基于已經提供代碼熱加載,使用預處理,單元測試,代碼覆蓋率報告,代碼分割等等更多。 Universal React Starter Kit 服務端渲染的React手腳架 這個啟動包的設計是為了讓你使用一整套最新最酷的前端技術,所有都是可配置,富特性,基于webpack已經提供代碼熱加載,使用...
摘要:通過聲明式編程模型定義組件,是最強大的核心功能。無論是的瀏覽器書簽,還是的導航功能,只要是可以使用的地方,就可以使用。二級路由使用渲染組件屬性狀態請選擇一個主題。也許是最佳小實踐地址,覺得有幫助的話,請點擊一下,嘿嘿 小前言 這是一個小小的有關react的小例子,希望通過一個小例子,可以讓新手更好的了解到react、react-router4.0、redux的集中使用方法。 這是基...
閱讀 1419·2021-09-22 15:52
閱讀 1459·2019-08-30 15:44
閱讀 895·2019-08-30 14:24
閱讀 2705·2019-08-30 13:06
閱讀 2700·2019-08-26 13:45
閱讀 2782·2019-08-26 13:43
閱讀 1015·2019-08-26 12:01
閱讀 1436·2019-08-26 11:56