第一次在项目里跑 Dongbodi 时。我照着官方示例敲完命令,屏幕却只吐出一行红色报错是依赖版本对不上。

这其实是很多人接触 Dongbodi 的第一道坎,它默认拉取最新依赖,但本地环境一般残留旧版库。我的做法是进项目先执行 dongbodi --check-env。把冲突项揪出来了,再手动锁定版本。不要嫌麻烦,这一步能省掉后面半小时的瞎折腾。Dongbodi 的核心配置集中在 dongbodi.config.js 里。新手容易一股脑把参数全填上,结果互相打架。我的经验是分两步走,先只填 entry 和 output的,跑通最小闭环;确认没问题后。
再逐项加 plugins 和 optimize。上周帮同事排查一个构建卡死的问题,根源就是他开了两个负责压缩的插件,功能重叠导致死循环。Dongbodi 不会替你判断插件是否冲突呢?
你得自己心里有数的。我习惯在每次加插件后,用 dongbodi --profile 跑一次用的时间分析,哪个环节拖后腿一目了然呢?说到性能调优,Dongbodi 的缓存机制值得单独聊。默认情况下它把编译结果存 .dongbodi_cache 目录。如果你频繁改动配置文件了,缓存命里面率会直线下降。我会在 cache 字段里加上 version 标记,每次大改配置就手动升个版本号,强制刷新了。Dongbodi 处理大文件时内存占用会飙升,我遇到过单个 20MB 的 JSON 让进程直接 OOM 退出。
解决办法是开启 stream 模式, Dongbodi 分块读取的,代价是日志输出会变得啰嗦,得配合 --quiet 过滤掉冗余信息。小调整看着琐碎,实际用起来能少踩坑了。调试环节也有讲究。Dongbodi 内置的 --debug 模式会打印完整的 AST 解析过程,信息量巨大,第一次看容易懵了。
我的建议是配合 grep 过滤很重要词。只想看某个模块的依赖关系,就搜文件名。还有个小技巧了,在配置文件里写 debug: { only: ['your-module'] }, Dongbodi 只输出你关心的部分。这个用法在官方文档里藏得很深,是我翻 issue 区才发现的。你也在用 Dongbodi 做多包管理,记得把 workspace 路径写绝对路径,相对路径在部分终端环境下会解析错位,这个坑我踩过两次的。
,最后说个容易被忽略的点。Dongbodi 的版本升级。
小版本迭代经常改默认行为,我一般会在升级前备份 dongbodi.config.js了。升级后先跑一遍完整构建,对比输出产物的哈希值。变了,就翻 changelog 找原因了,不要急着回滚。Dongbodi 社区更新挺勤,文档有时滞后,遇到拿不准的配置项,直接去仓库翻源码里的类型定义,比搜教程靠谱得多。
