这几天收到比较多关于roadhog 的疑问,为啥用 roadhog,啥时不用 roadhog,怎么从 atool-build + dora 切换到 roadhog 等等。解释如下:
roadhog 是约束型配置,基于 JSON 格式,给出有限的配置方式;atool-build + dora 是扩展型,表现为插件和编程 webpack.config.js 的方式。
标了 暂
的后续可能会支持,看需求吧。
roadhog 的劣势:
roadhog 的优势:
既然 roadhog 功能没 atool-build + dora 强大,那为啥要切换呢?
"disableCSSModules": true
以下情况不推荐换 roadhog 。
删除 atool-build
和 dora
相关依赖,加上 roadhog
依赖。
$ npm install roadhog --save-dev
修改 scripts 部分,让 start
和 build
走 roadhog:
"start": "roadhog server" "build": "roadhog build"
可参看这个Commit 或 dva-example-user-dashboard 。
.roadhogrc
如果是用 dva + antd 的组合,babel 插件部分通常这么配:
"extraBabelPlugins": [ "transform-runtime", ["import", { "libraryName": "antd", "style": "css" }] ], "env": { "development": { "extraBabelPlugins": [ "dva-hmr" ] } }
然后把 webpack.config.js 中的配置参考roadhog#配置 迁移到 .roadhogrc
中。
webpack.config.js
(完)