如何評價前端應用框架 dva?
一個基於 Redux 的前端應用開發框架。
GitHub - dvajs/dva: React and redux based, lightweight and elm-style framework. (Inspired by choo)
最近項目里用到了,總體感覺還是不錯的。
首先是作者給的文檔很貼心,給了一個知識網路,可以對照著把基礎知識都學一下,不至於看到各種es6的奇怪關鍵字和react全家桶不知所措。dva的封裝比較薄,基礎知識看過之後,整個框架理解起來比較輕鬆,沒有黑魔法。另外作者給了三四個例子,都比較詳細,照著一步一步基本可以做出來。
總的來說,就是把react那一套技術的學習成本降低了不少。
然後說說缺點:先是webpack.config.js,把本來json的寫法破壞了,比如加個plugin還要webpackConfig.plugins.push{xxxx}然後是每寫完一個model都要在index.js裡邊手動加上去,假如能自動檢測model文件夾就好了。假如start之後能自動打開瀏覽器就好了(雖然這個可以自己加個插件)最後是貌似和css module兼容得不太好(也可能是我配置得不對)已經發布了新版本,非常感謝!
----------------------------------------
個人維護的項目,你懂的。
你可以看一下 Github 上面的contributors: dva contributors,你會發現20多個人卻只有一個人貢獻了99%的代碼,各種issue被關閉,真為項目發起人感到著急,畢竟一個人精力始終有限,而且react-router、react、redux 的版本每一次迭代都會對項目產生影響,比如現在react-router已經到了4.x了,但是dva內置的版本卻還是2.x,一旦自行升級,就相當於主動挖了一個坑,此時就要在使用 dva 和使用新版本的組件上做出選擇了。
這個項目真的很贊,但是很不幸維護的人太少了。
最近剛剛嘗試了DVA,覺得dva挺好用的,有如下特點:
- 框架: dva是個框架,集成了redux、redux-saga、react-router-redux、react-router
- 快速初始化: 可以快速實現項目的初始化,不需要繁瑣地配置
- 簡化開發:將initState、saga、reducer集成到一個model裡面統一管理,避免文件散落在各個文件裡面,便於快速查找與開發
- 簡潔的API:整個項目中只有dva、app.model、app.router、app.use、app.start幾個API
- 無縫對接:跟react的生態沒有衝突,例如可以直接使用redux devtool工具
- 動態機制:app.start以後,仍然可以註冊model,靈活性較高
再說說個人覺得不太爽的地方吧:
- namespace不統一: dva中的action.type格式是namespace/XXX,且在model中不需要添加前綴namespace,但是在組件中dispatch,卻需要添加prefix
- action問題:action會散落在兩個地方,一個是saga裡面,另外一個是component dispatch的時候,當然這個問題在使用redux-saga的時候就會存在,只是dva仍然沒有很好地統一起來。
最近想在項目裡面集成dva的redux封裝進去,
but,發現,dva-cli生成的項目封裝了,webpack,react-router,想升級,又怕挖坑。
於是,自己在種子項目裡面使用了dva-core,調試了兩天,終於就緒,結果發現,
models和component沒法connect起來,超級崩潰。
問了下作者,說建議還是使用封裝好的dva。。。
我就是想自己搭工程化額,再使用dva,那我還折騰啥。
-----------以上只是吐槽-------------------
不過話說回來,項目還是好項目,思路還是好思路,期待dva2.0吧。
倒是試著看了下dva的demo,感覺做的蠻不錯的,尤其針對redux和saga之間的通訊創意,但是版本迭代確實不太好,維護的人太少。
不過思維模式倒是可以借鑒,自己開發了一套類似dva的組件,用於通訊,也用的都是最新的版本,感覺蠻不錯的。
在用 antd 的時候用到。目前的感覺就是:簡化了 react-redux 的部署的文件複雜度。如果你熟悉 redux 那一套,並不需要了解太多知識就能上手。
除了內建webpack讓我不知所措,其他的都感覺不錯 才剛搭完,做完這波項目再來詳說
謝邀。前端就是好,睡一覺醒來都有幾個新框架發布了。
三天不關心JS就出了個新框架……前端真好啊……
下一個問題是不是「如何評價新框架Genji?」
另外,d.va愛你喲?(?v??)
以下有嚴重精神污染,心臟不好不要點下去
三天不看JS,已經跟不上潮流了, 碼農界我只服JS工程師。
我看了三遍標題才確認這不是來自關注的守望先鋒話題
謝邀。
// lightweight and elm-style framework 你懂的
我大Java死磕Spring好多年。
個人覺得 應該把webpack配置暴露出來 這樣可定製化更高
dva是個好架子,不過爬坑的過程實在是痛苦
來來來 服上一劑良藥 DVA源碼閱讀-初始化篇 · Issue #1 · jnotnull/dva-generator
0基礎,業務需要寫個前端系統。
react+dva+ant,雖然什麼虛擬dom啥的至今不懂,貌似因為和JS關係不大,不影響前端小白使用。
節省了很多開發時間。
你大JS框架好評!
dva-reducer
用來減輕dva 的model寫3個點的痛苦GitHub 和 npm 都可以找到挺好的,本來不會redux,跟著教程走一波也能搞懂了,節省了很多時間去搭建環境
呵呵,dva + react + node,一圈下來你會發現,其實就是開源版的Microsoft .net framwork大禮包那套東西,還比.net缺個IDE...
作為一個後端的,公司要求前端也要學習,本來對前端框架就沒啥了解,看的我是一臉懵逼
// 卧槽,前端又一個框架!
問個問題,dva 的路由,域名後面跟個「#」 是為什麼, 能去掉嗎?
推薦閱讀:
※如何在 JS 中嵌入 HTML 代碼?
※js浮點數精度問題的前世今生?
※為什麼JS中一個浮點數位或0會去掉小數部分?
※怎樣精確區分這些名詞:庫、插件、組件、控制項、擴展?
※sass、scss、less、compass、bootstrap學習的順序是什麼?
TAG:前端開發 | JavaScript | 前端開發框架和庫 | React | Redux |