天天看點

dva umi roadhog差別和個人了解dva umi roadhog差別和作用的個人了解

dva umi roadhog差別和作用的個人了解

因為最近再寫react的項目 ,是以這三個都有學習,因為都屬于阿裡系的技術棧而且都是用于react項目搭建的,通常是組合在一起的。

roadhog

關于roadhog的介紹好像唯一的介紹文章的就是github上作者寫的一篇介紹

文章連結

因為roadhog本來就很簡單,隻有三個指令server(啟動服務),build(建構項目),test(測試)。roadhog是針對created-react-app官方腳手架的優化,created-react-app封裝的很好減去了很多配置的程式,但是可擴充性很弱,roadhog可以進行json格式的配置 ,而且預設開啟了css -modules的功能。相當于官方腳手架的擴充。他隻是一個單純的webpack的封裝工具

umi

文檔

umi集合了roadhog+路由+html生成 + 完善的插件機制,這句是文檔上就有些的 ,首席按umi上自帶了roadhog的配置和指令,而其主要功能就在于約定式的路由和html生成。通過指令可以直接生成子產品檔案,功能檔案,然後直接通過檔案的層級關系生成約定式的路由。umi主要就是解決了項目的路由問題,不需要手動來寫完整的路由結構,且是檔案結構與路由結構同步,且與mock.js結合起來可以友善的進行前端mock資料測試。還提供了動态加載等實作方法。

dva

文檔

dva一般是與umi結合在一起用的 ,dva主要就是用來解決資料流的問題 ,umi針對于路由的控制,地dva主要的功能就是将redux和redux-saga兩者相結合在一起,在原來的寫法上,redux和redux-sagas是相對分離的并沒有很清晰的子產品概念,在dva中将redux的同步操作,和帶有副作用的異步effect操作,寫在一個model裡,簡化了寫法讓一個功能塊的資料操作更加清晰明确。除了這個主要功能外,還添加了一些附加的插件功能。