react native增量热更新生成合并补丁文件

这是一个node命令,有两个命令可用,一是用于生成补丁文件,一个是合并补丁生成新的文件.

很多情况下我们需要生成补丁文件,例如 react native 的热更新,自建服务器进行热更新,不用codepush和pushy,需要生成bundle的补丁文件,然后从服务器下载下来后再合并成一个bundle文件。

最近刚好需要生成补丁命令,就写了一个node命令方便使用。

下载操作:

1、打开本地终端,输入 git clone https://github.com/LiuC520/nodediffpatch.git

2、然后输入 cd nodediffpatch && npm i

3、然后输入 sudo npm link ,输入密码后就可以了

4、然后把你要生成的新、旧文件放到nodediffpatch的patch文件夹下,然后就可以用命令生成补丁了,其他语言的源码如下:

源码:我利用的是google的diff文件,下载地址为:https://code.google.com/archive/p/google-diff-match-patch/downloads

但是上面的官方地址需要科学上网,我的网站下载地址:www.vr-react.com/file/diff_match_patch_20121119.zip


react native增量热更新生成合并补丁文件_第1张图片
node下载

命令如下:

下面的 l1.txt 是旧文件,l2.txt 是新文件,只需要换成你自己的就行了

1、patbundle patch -o l1.txt -n l2.txt

这是生成补丁的命令

其中l1.txt是你的旧文件,l2.txt是新文件,需要把文件的后缀也带上哦,

假设你的旧文件为 index.android.bundle,新文件为 new.bundle,

命令行就是: patbundle patch -o index.android.bundle -n new.bundle


react native增量热更新生成合并补丁文件_第2张图片
生成补丁文件

2、patbundle merge -o l1.txt -p patches.pat -n newfile.txt

也可以简写的哦:patbundle merge -o l1.txt -p patches.pat ,这样的话新的文件名就是 newl1.txt

也可以简写的哦:patbundle merge -o l1.txt ,这样的话新的文件名就是 newl1.txt,默认的pat文件就是patches.pat

这就是把l1.txt和pat文件合并成一个新的文件


react native增量热更新生成合并补丁文件_第3张图片
合并补丁成新文件

3、patbundle -h

查看帮助文档,不知道命令怎么用的,可以查看下哦

你可能感兴趣的:(react native增量热更新生成合并补丁文件)