说明: mergeFile是一个简单的文件合并小工具,使用Java,这个工具起初是为了项目中使用,后来感觉效果还不错,想把这个小工具分享出来 希望可以帮助大家提高一下工作效率,下面说下这个小家伙有哪些功能以及使用: *根据预设文件大小,对合并目标文件自动拆分。 *根据配置,将合并目标文件按照顺序保存到指定的js文件中,可以指定变量名 *支持为给每个文件内容块添加开始和结束标示(sourceFile完成路径),用来区分 *支持配置文件内部变量 *支持指定资源文件父目录 *支持资源文件列表文件配置 *支持指定输出文件名 *支持两种文件类型合并:列表类型、分组类型 列表类型: 根据预设的文件大小自动分隔文件,并基于文件名自动追加索引。例如: mergeFile.js,mergeFile_1.js,mergeFile_2.js .... 分组类型: 文件名称为组名,不对文件大小进行分隔,fileMaxSize参数设置为-1即可 资源文件配置数据类型为map(k-v) key:为文件存储的相对路径;value:是资源文件列表信息 例如: { "js/merge/core.js" : ["js/source1.js", "js/source2.js", ...] } *可以为 outJsonFileName 的josn指定一个变量 *css、js文件支持压缩处理,压缩使用的是YUICommpress *支持附加信息功能,在每个文件内容最后可以根据需要添加 *支持合并文件签名 *日志工具,summary目录下,日志文件名和合并文件名保持一致。日志文件不会自动删除 *文件合并前,会先删除当前目标文件内容(其他的不会删除),历史文件不会删除。 如何执行: *在IDE中执行:com.wangtaoqi.merge.MergeManage类中的main函数 *命令行:运行startMergefile.bat 代码管理: *使用Maven 参考命令:mvn dependency:copy-dependencies package 配置文件说明: *merge_config.js配置文件: { "sourceFileDirectory" : "D:/frame/WebContent/decision/", "sourceFileListPath" : "${sourceFileDirectory}/js/path_map.json", "outDirectory" : "${sourceFileDirectory}/js/", "outFileName" : "js/merge/mergerFile.js", "outJsonFileName" : "mergeFileJsonPathList.js", "fileMaxSize" : -1, "fileSizeUntil" : "MB", "contentAttachText" : ";\n", "createFileSign" : true, "comments" : true, "outFileJsonParamName" : "loadFiles", "$yuiConfig" : { "javaScript" : { "linebreak" : 0, "munge" : false, "verbose" : false, "preserveAllSemiColons" : false, "disableOptimizations" : false }, "css" : { "linebreakpos" : 0 } } } *参数 --sourceFileDirectory: 资源文件根目录,文件的读写路径都是基sourceFileDirectory之上进行的。 --sourceFileListPath: 文件列表配置文件路径。 --outDirectory: 如果资源文件配置使用list结构存储,当前变量将作为输出文件名,否则以配置文件为主。 --outJsonFileName: 将合并后的文件列表以jsonList形式存储到这个文件中。 --fileMaxSize: 分隔文件大小,如果在写入文件时发现目标文件大小已经超过上限,将新建一个文件,否则继续写入。 -1:忽略文件大小。 --fileSizeUntil: 文件分隔单位:MB、KB 这个参数必填,否则不能保存成功。 --contentAttachText: 文件附加内容,每个文件末尾处需要追加的额外信息。 --createFileSign: 是否创建合并文件签名 --comments: 是否在合并文件中记录每个文件的原始路径信息。 --outFileJsonParamName: 指定outJsonFileName文件中的json变量名 --yuiConfig: yui配置文件,如果不想使用只需在变量名前添加一个$符号即可。 app目录:MergeFile/MergeFileGit/target/product/
-
Notifications
You must be signed in to change notification settings - Fork 0
wangtaoqi/MergeFile
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published