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