YUI Compressor完成代码混淆示例「建议收藏」

YUI Compressor完成代码混淆示例「建议收藏」YUICompressor相关信息官网GitHub地址混淆单个js一般命令,java-jaryuicompressor-x.y.z.jarmyfile.js-omyfile-min.js若出现编码错误,就加上编码参数,比如你的文件的编码是utf-8编码,则命令如下,java-jaryuicompressor-x.y.z.jarmyfile.js-omyfile-min.j

大家好,又见面了,我是你们的朋友全栈君。


YUI Compressor相关信息


混淆单个js

一般命令,

java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js

若出现编码错误,就加上编码参数,比如你的文件的编码是utf-8编码,则命令如下,

java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js --charset utf-8


混淆多个js

如下脚本实现的功能:将工程中src/main/webapp/assets/js目录下的所有js完成混淆,并覆盖掉原来的js。。当然,yuicompressor包得放在工程目录下。

  • 执行命令:cd your-project-dir; ant -buildfile js_confuse.xml
  • 脚本内容:
<?xml version="1.0" encoding="utf-8"?>
<project name="MyTask" basedir="." default="compress-js">
    <property name="src.dir" value="./src/main/webapp/assets/js" />
    <target name="compress-js">
        <apply executable="java" parallel="false" failonerror="true" dest="${src.dir}" append="false" force="true">
            <fileset dir="${src.dir}" includes="**.js" />
            <arg line="-jar" />
            <arg path="yuicompressor-2.4.8.jar" />
            <arg line="--charset utf-8" />
            <srcfile />
            <arg line="-o" />
            <mapper type="glob" from="*.js" to="*.js" />
            <targetfile />
        </apply>
    </target>
</project>

错误分析

混淆test.js文件时,报错

[apply] [ERROR] in test.js
    [apply]   110:10:invalid property id

该文件的第110行内容是float: false,
参照Stack Overflow–Compression issues with JQuery file in YUI Compressor,由于float同时是js和css的关键字,故YUI会将其区分不开,需改为"float": false,


参考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161209.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 项目打成Jar包和War包的介绍与区别

    项目打成Jar包和War包的介绍与区别1.jar包的介绍JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用…

    2022年5月23日
    35
  • android gradle下载慢的解决方法

    android gradle下载慢的解决方法用androidstudio开发时,导入的项目经常会用到各种gradle版本,不知道为何androidstudio下载gradle极慢,最后总是失败。https://services.gradle.org/distributions/这是gradle各版本的官方网站。在这网站上下载速度很快。下载的文件放哪里呢?放到以下对应的目录中。C:\Users\admin\.gradle\wrapper\dists\gradle-6.7-all\cuy9mc7upwgwgeb72wkcrup

    2022年6月24日
    22
  • 在java中数组的输入与输出_Java 数组的输入输出

    在java中数组的输入与输出_Java 数组的输入输出Java中要对控制台进行输入操作的话要调用Scanner类,定义一个扫描的对象,例://要导入java.util.Scanner;Scannerscanner=newScanner(System.in);12这样便打开了输入流,接下来定义数组:int[]n=newint[4];//使用方括号,使用圆括号会报错1接下来可以将控制台取得的输入输入数组里面,需要调用Scanner对象的n…

    2022年6月26日
    41
  • java帝国时代_我的第一个java程序

    java帝国时代_我的第一个java程序1C语言帝国的统治现在是公元1995年,C语言帝国已经统治了我们20多年,实在是太久了。1972年,随着C语言的诞生和Unix的问世,帝国迅速建立统治,从北美到欧洲,从欧洲到亚洲,无数程序员臣服在他的脚下。帝国给我们提供了极好的福利:贴近硬件,运行极快,效率极高。使用这些福利,程序员们用C开发了很多系统级软件,操作系统,编译器,数据库,网络

    2022年9月24日
    0
  • Latex大括号及多行公式[通俗易懂]

    Latex大括号及多行公式[通俗易懂]array中lrc表示各列内容的居左、居中、居右。.\begin{equation}\left\{\begin{array}{lr}x=\dfrac{3\pi}{2}(1+2t)\cos(\dfrac{3\pi}{2}(1+2t)),&\\y=s,&0\leqs\leqL,|t|\le

    2022年10月11日
    0
  • CEGUI环境的搭配[通俗易懂]

    CEGUI环境的搭配[通俗易懂]提前准备工具及安装包:1、CMake:一款编译工具下载地址2、CEGUI的源码及依赖项第一个箭头所指,代表是Windows系统的源码包,第二个则是Unix和Linux系统的源码包。配置环境步骤(针对windows平台,图形化操作)Linux下,或者Windows下dos命令也可以完成相应操作,输入相关命令即可。将源码包以及依赖项进行解压如:然后打…

    2022年7月24日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号