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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 十个拿来就能用的网页炫酷特效

    十个拿来就能用的网页炫酷特效之前喜欢收集能美化网页的代码,比如给网页加个背景啦,给鼠标加个特效啦,来来回回也收集到了一些“使用简单”,“效果爆炸”的页面,给大家陆续分享出来,如果觉得有帮助可以点赞收藏支持一下,如果能关注一下就再好不过了ヾ(≧▽≦*)o

    2022年7月26日
    3
  • mysql 拼接字符_mysql将字符串和数字拼接

    mysql 拼接字符_mysql将字符串和数字拼接数据准备CREATETABLE`user`(`id`int(11)NOTNULLAUTO_INCREMENT,`account`varchar(100)DEFAULTNULL,`password`varchar(100)DEFAULTNULL,`type`tinyint(4)DEFAULTNULL,PRIMARYKEY(`id`),UNIQUEKEY`acc…

    2022年9月30日
    1
  • Java–LinkedList真的比ArrayList添加元素快?Open JDK JMH带你揭开真相「建议收藏」

    Java–LinkedList真的比ArrayList添加元素快?Open JDK JMH带你揭开真相「建议收藏」【学习背景】欢迎进来学习的小伙伴~不管你是学生,还是职场小白,还是入行1~3年的小伙伴,相信很多小伙伴在面试Java工作岗位时,发现LinkedList和ArrayList这个问题基本是必面的一道题,【面试场景】当面试官问到LinkedList和ArrayList的区别时,可能很多准备得不够充分的小伙伴第一反应的回答仅仅是这样的:LinkedList底层数据结构是链表,添加和删除元素效率比ArrayList高~ArrayList底层数据结构是数组,查询效率比LinkedList高~面试官:哦

    2022年7月11日
    18
  • java是什么?java能用来干嘛?[通俗易懂]

    java是什么?java能用来干嘛?[通俗易懂]java是什么?java能用来干嘛?Java是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk。Java由四方面组成:Java编程语言,即语法。Java文件格式,即各种文件夹、文件的后缀。Java文件格式,即各种文件夹、文件的后缀。Java虚拟机(JVM),即处理*.class文件的解释器。Java应…

    2022年7月7日
    21
  • SpringBoot的启动流程_springboot启动卡住了

    SpringBoot的启动流程_springboot启动卡住了SpringMVC请求流程详解SpringMVC框架是一个基于请求驱动的Web框架,并且使用了‘前端控制器’模型来进行设计,再根据‘请求映射规则’分发给相应的页面控制器进行处理。(一)整体流程每一个SpringBoot程序都有一个主入口,这个主入口就是main方法,而main方法中都会调用SpringBootApplication.run方法,一个快速了解SpringBootApplication启动过程的好方法就是在run方法中打一个断点,然后通过Debug的模式启动工程,逐步跟踪了解Sprin

    2022年8月21日
    3
  • 什么是Lambda架构?

    什么是Lambda架构?写在前面本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!本专栏目录结构和文献引用请见100个问题搞定大数据理论体系解答1.Lambda架构定义了一套面向大数据应用的模式和准则。更重要的是,它允许同时查询历史数据和实时新增的数据,并且获得期望的分析视图。2.处理历史数据(批处理)和实时数据。3.技术无关和通用性。Lambda架构是一种通用的模式,完全不依赖于任何技术,而且任何技术只要能满足需求,都可以在Lamb

    2022年6月25日
    25

发表回复

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

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