• UI 根据htm加载顺序压缩打包js、css


    使用yuicompressor打包JS, CSS

        yuicompressor可以压缩JS和CSS文件,去除文件中的无用空格、换行和注释。大大的减小JS和CSS文件的体积。    

      官网:http://yuilibrary.com/

        下载:http://yuilibrary.com/downloads/#yuicompressor

    简单的命令如下<command-line>: java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o uiiang.js table.js 
    --type指定要打包的文件类型,可选的有 js和css
    --charset 指定字符集 -o 指定输出的文件名,如果不指定这个参数将会把压缩后的内容输出到命令行上
    最后的table.js是要打包的源文件


    不过这样压缩有一个缺点,只能一个一个文件的进行压缩,所以使用bat进行批处理压缩
    建立一个compresjs.bat文件,内容如下
    Java代码 (dir %1 /aa /b /s | findstr /e /c:"js") >tmp.txt  

    for /f %%i in (tmp.txt)

    do java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o %%i.tmp %%i & copy %%i".tmp" %%i & del %%i".tmp"

    运行这个bat文件,会自动寻找本文件所在目录下所有子文件夹中的.js文件,进行压缩并覆盖源文件。
    compresjs.bat使用的方法只是对文件进行压缩,如果有10个源文件,还会压缩成10个文件,并没有进行打包。

    我们可以对他进行更进一步的处理,把这10个源文件打包压缩成1个文件,就像ext-all.js那样。
    建立一个packagejs.bat文件,内容如下

    Java代码

    for /r ..\WebContent\js %%i in (*.js) do type %%i>>uiiang-debug.js  

    java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o uiiang.js uiiang-debug.js

    在packagejs.bat中,先将..\WebContent\js下的所有JS文件内容合并到uiiang-debug.js文件中,然后再使用yuicompressor对uiiang-debug.jsp压缩成uiiang.js,这样就可以得到一个经过压缩并包含全部.js文件的代码了。
    packagejs.bat中使用的方法有一个缺点,那就是它在合并js文件时的顺序,是按照文件夹及子文件夹还有js文件的排列顺序进行合并的,也就是按文件名顺序排列。但是在我们实际项目中,一般情况下JS文件的引用是要指定一个特定的加载顺序,不然的话就会报错。所以还要对packagejs.bat进行再进一步的改造。
    首先要建立一个列表文件dir.txt

    Java代码

    ..\WebContent\js\widgets\WidgetInit.js 

    ..\WebContent\js\utils\Cache.js 

    ..\WebContent\js\common\GlobalConstant.js 

    ..\WebContent\js\common\GlobalVariable.js 

    ..\WebContent\js\common\GlobalFunc.js 

    ..\WebContent\js\core\Initialize.js 

    在这个文件中,按照JSP中指定的JS文件加载顺序写好文件的路径
    再修改packagejs.bat

    Java代码

    for /f %%i in (dir.txt) do type %%i >> uiiang-debug.js  

    java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -o uiiang.js uiiang-debug.js

    执行这个packagejs.bat文件后,批处理命令会自动读取dir.txt并按照你指定的顺序逐行取出.js文件的路径进行,把文件内容合并到uiiang-debug.js中。


    另外要注意的一点就是在dir.txt中,一定要把所需要打包压缩的的JS文件路径全部列出来,因为新的pakagejs.bat不会再自动寻找全部的JS文件了,如果有遗漏就只好报错
    至此,批处理压缩打包js文件的工作就完成了,还可以将代码中的.JS换成.css对CSS文件进行打包,当然yuicompressor的--type也要改成css。

    -------------转载

  • 相关阅读:
    C# GDI 绘图打印
    使用批处理,WINRAR 创建自解压文件
    c# 开放/封闭原则
    php 盖尔-沙普利算法
    c# 遍历 Mysql 所有表所有列,查找目标数据
    C# 与 C++ 互操作(C# 调用 C++ 的动态链接库)
    c# WPF DataGrid 获取选中单元格信息
    c# WPF SVG 文件的引用(SharpVectors)
    c# 使用网站的身份验证及 Cookie 的获取与使用
    c# HttpListener 使用
  • 原文地址:https://www.cnblogs.com/workformylove/p/2863273.html
Copyright © 2020-2023  润新知