黑白梦

调试 Github 开源包时,应优先使用 Tag 中的代码

一些多年未更新的 npm 包,可以 fork 过来自行维护一下,优化兼容性、加一些功能等。

这次遇到一个包,把它的最新分支 master 拉下来了,版本号是三年未更新的最新版本。但是怎么调试功能都不太正常,非常奇怪。

尝试直接把它在 npm 仓库中的构建产物拿了过来,发现却是能正常使用的。为何这么奇怪,难道构建里有什么特殊处理吗?可它看着也就是普通的 rollup 构建。

研究了一晚,终于通过对比源码发现,虽然它三年未更新,master 分支却不是最新版本对应的代码,在发版后它进行过了更改,只是没有再发版,并且改的代码是不完全的,看来作者是改到一半后放弃维护了,代码不能跑起来。

通过这个仓库的 Tag,找到了最新版对应的代码,跑起来发现没有任何问题。所以调试 Github 开源包时,应优先使用 Tag 中的代码,这才是更有保证能对应上构建后版本的源码。