最近项目想使用在maven打包的时间压缩js,css文件,采用yuicompressor-maven-plugin插件进行压缩,但只是压缩减小大小,提高请求速度,并没有对js进行混淆。下面就写一下这个插件的使用。

假设项目包含如下结构

需要把项目中设计的css和js全部压缩,但是需要配出已经压缩过的css,js文件,不然会报错。

shop

net.alchim31.maven

yuicompressor-maven-plugin

1.5.1

prepare-package

compress

UTF-8

false

true

-1

src/main/webapp

js/*.js

wapjs/*.js

activity/**/*.js

admin/adminjs/*.js

css/*.css

activity/**/*.css

**/*min.js

**/jweixin-1.0.0.js

**/*min.css

org.apache.maven.plugins

maven-surefire-plugin

2.4.2

true

org.apache.maven.plugins

maven-javadoc-plugin

2.9.1

target/javadoc

target/javadoc

UTF-8

UTF-8

UTF-8

private

org.apache.maven.plugins

maven-war-plugin

2.6

%regex[^.+(?:(?

src/main/webapp/WEB-INF/web.xml

src/main/resources

**/*.properties

**/*.xml

true

src/main/java

**/*.xml

true

lt;/project>

打包遇到的问题以及说明:

1、include标签中配置的是需要压缩的文件,exclude配置的是在include文件中排除需要压缩的文件。

2、include和exclude中可以使用通配符,*表示一个文件或路径名,**表示多个文件或路径。

3、jswarn代表是否忽略警告, nosuffix是否添加min后缀, linebreakpos是否压缩在一行。

4、net.alchim31.maven需要在org.apache.maven.plugins插件之前,否则不能够将压缩的文件打到war包里。

5、org.apache.maven.plugins配置说明:

org.apache.maven.plugins

maven-war-plugin

2.6

**

%regex[^.+(?:(?

src/main/webapp/WEB-INF/web.xml

lt;/plugin>

其中

1、warSourceIncludes不填写默认是对应 src/main/webapp下的全部文件。

2、warSourceExcludes装配warSourceIncludes中排除不以.min.js -min.js结尾的js文件。

warSourceIncludes不填写默认是对应 src/main/webapp下的全部文件,因为在

yuicompressor配置了不会处理min这些文件所以这些文件要拷贝到对应的目录。由于maven-war-plugin会把

yuicompressor配置的文件压缩覆盖输出到target文件夹里,但是排除掉的

文件并未放到target里,所以会导致打war包的时间未将排除的文件为打入包中,所以此处需要

warSourceExcludes将yuicompressor没有压缩的js文件就会拷贝过去,而压缩过的js则不会拷贝yuicompressor

会拷贝压缩后的文件过去。

以下是maven打包压缩输出结果:

上面配置经过实际环境,分享一下。

maven 绑定html压缩,Maven使用yuicompressor-maven-plugin打包压缩css、js文件相关推荐

  1. Flask-Assets 使用autoprefixer并压缩css/JS文件提高访问速度

    扩展阅读 http://flask-assets.readthedocs.io/en/latest/  Flask-Assets实例学习  Flask-Assets中文参考 Flask-Assets ...

  2. 利用html-minifier和uglify-js对前端HTML/CSS/JS文件进行压缩

    利用html-minifier和uglify-js对前端HTML/CSS/JS文件进行压缩 前言:最近项目组项目接近完工,因为是个网站改造项目,大多数页面都是静态页面,前端开发并没有使用框架或工程化的 ...

  3. 在线压缩html/css/js文件成一行

    在线压缩html/css/js文件成一行: 压缩网站为:http://tool.oschina.net/jscompress/ 将源码压缩成一行,去掉文中的一些注释和空格以及空行,好处是: 1.减小文 ...

  4. Yii --EClientScript 扩展,css,js文件代码压缩合并加载

    扩展插件下载地址,解压后复制到/protected/vendor/ https://github.com/muayyad-alsadi/yii-EClientScript main配置文件配置插件,c ...

  5. php压缩多个CSS/JS文件

    1. 压缩css compress.php <?php header('Content-type: text/css'); ob_start("compress"); fun ...

  6. html如何打包压缩,所有css打包压缩到一个js里面

    所有css打包压缩到一个js里面 打包css文件的意义:最终把css文件压缩到最终生成的js文件里,页面不需要再加载css文件,并且是压缩过的 打包css文件,安装style-loader css-l ...

  7. 用 Flask 来写个轻博客 (28) — 使用 Flask-Assets 压缩 CSS/JS 提升网页加载速度

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 Flask-Assets 将 Flask-Assets 应用 ...

  8. vue webpack压缩代码_webpack不混淆、不压缩指定js文件

    在项目中使用了mozilla/pdf.js,在使用中需要设置GlobalWorkerOptions.workerSrc,代码如下 import PDFJS from 'pdfjs-dist' impo ...

  9. UglifyJS 合并 压缩 JS文件

    在引用库还有其他文件时,原本的项目文件很多,这时候就需要压缩合并,使用方法如下: 安装: npm install uglify-js -g 将uglifyjs安装为全局变量,方便我们在任何地方使用. ...

  10. tar 打包压缩命令(linux压缩命令)

    tar 命令用于文件的打包或压缩,是最为常用的打包压缩命令,其语法格式如下: tar [选项] 文件名.tar.gz 源文件 tar -cvfz xxx.tar.gz source_file (tar ...

最新文章

  1. 【大数据】Zookeeper学习笔记
  2. Android Studio ndk-Jni开发详细
  3. keras神经网络模型的保存与加载
  4. 03_TF2 Guide、文档清单(数据输入、估计器、保存模型、加速器、性能调优等)、TF2库和扩展库(TensorBoard、数据集、TensorFlow Hub、概率和统计分析库、图像处理库)
  5. 网管型工业交换机如何创建网络冗余
  6. Effective Java 在工作中的应用总结
  7. python的基础命令_深度学习中python常用命令
  8. 计算任意两个圆的交点
  9. 基于机器视觉的线圈检测
  10. 什么样的人适合微信创业
  11. libevent使用一 libevent导入项目
  12. SVN冲突的原因和解决
  13. win10计算机恢复到一天前,win10怎么系统还原到某一时刻 win10系统还原之后会怎么样...
  14. Android 解决OutOfMemory,从避免内存溢出开始
  15. 蛋白质组学研究的经典方法:双向电泳技术解读
  16. Automatic Software Repair: A Survey 自动软件修复:综述 (2)
  17. 算法工程师与软件开发工程师的区别
  18. mysql登录报错“Access denied for user ‘root‘@‘localhost‘ (using password: YES”的处理方法
  19. 好不好用户说了算,看OPPO R11如何赢得一致好评?
  20. 使用IDEA 自带的数据库脚本导出

热门文章

  1. android 图片合成pdf文件,怎样将图片转换成pdf文件时将它们合并成一个pdf文件?...
  2. SAE J1939 协议源代码分析(一)-程序结构框架
  3. Oracle P6培训系列:17建立基线
  4. 离散数学 习题篇 —— 谓词公式练习
  5. 【DPS专题】工业篇:从“低谷”走向“巅峰”,DPS如何成为工业智能制胜法宝?...
  6. mysql数据库基础知识--一分钟让你数据库入门(sql基础语法篇)
  7. 25本免费的Python电子书
  8. Modbus调试软件使用教程
  9. cad2022新功能介绍(autocad2022简体中文版)
  10. 【计算机毕业设计】基于SpringBoot的物流管理系统