VersionCompare
用来生成版本差异文件,方便增量更新 使用前需要先安装nodejs 配置文件config.xml按需修改配置文件 <?xml version="1.0" encoding="UTF-8"?><config> <inputDir>d:\code\nodejs\test</inputDir><!-- 输入目录 --> <outputDir>d:\code\nodejs\test2</outputDir><!-- 输出目录 --> <isCopyFile>true</isCopyFile><!--是否拷贝差异文件到输出目录(会保持目录结构)--> <maxDiffCount>2000</maxDiffCount><!--最大差异文件数,差异个数超过这个值就重置版本号,version.json会置空--> <ignoreDirs>aaa\xxx|aaa\aaaa.txt</ignoreDirs><!--忽略的目录或文件,多个用|隔开--> <versionName></versionName><!-- 自定义版本号,留空会自动使用当前时间当作版本号(推荐)--></config> 生成差异配置D:\code\nodejs\VersionCompare>node index.js -c config.xml 第一次打版本,会在输出目录 生成文件.history 和version.json .history 是历史记录文件,主要根据这个文件来生成文件差异配置。主要记录大版本号,和各个文件对应的版本号和md5值 <root><version>20171204154609</version><file><name>001.txt</name><version>20171204154609</version><md5>C8252D98634C30F96320C93C0BF8F8AE</md5></file><file><name>aaa\xxx.txt</name><version>20171204154609</version><md5>18D423DB14F083C6CCEABF934DD722BD</md5></file></root> version.json 就是我们项目中需要用到文件,主要记录从上个大版本到目前所有修改过的文件,第一次打版本version.json 还不会有数据,因为没有上一个版本可比较,也就没有差异文件。
后面的版本打包,如果有差异文件,会记录在version.json ,并在输出目录 创建以当前日期命名的文件夹,比如20171204155419 ,里面包含所有差异的文件(含目录结构) {"001.txt":"20171204155419","aaa\/xxx.txt":"20171204155419"} 规则项目中使用根据要加载文件的url在version.json 文件中查找,如果能找到就使用version.json 记录的版本号,没有就直接使用大版本号 |
请发表评论