springboot使用maven集成minify-maven-plugin

目录

项目背景介绍

minify-maven-plugin插件介绍

使用minify-maven-plugin的pom文件

 

项目背景介绍

springboot项目我们经常需要使用maven来作为项目包管理器,我们的项目开发好了需要发布成jar包到生产环境使用,当我们项目中有js/css等前端静态资源时常常需要在打包时对css和js文件进行压缩,以减小前端静态资源的体积,加快浏览器加载前端页面的响应速度,在以前我们压缩js/css都是使用的yuicompressor-maven-plugin插件,但是随着ecmascript6(es6)的到来,当我们前端js文件里面使用了es6的语法,yuicompressor-maven-plugin插件已经不支持es6的语法了,我们对于这种情况下,就可以使用minify-maven-plugin插件来压缩js/css文件。

minify-maven-plugin插件介绍

minify-maven-plugin官网对minify-maven-plugin的介绍是:

该插件结合并最小化您的 CSS 和 JavaScript 文件,以加快页面加载速度。它会生成 CSS 和 JavaScript 资源的合并和缩小版本,可以在您的项目中重复使用。

在底层,它使用YUI CompressorGoogle Closure Compiler,但围绕这些工具有一个抽象层,允许将来添加其他工具。

在我们需要压缩es6语法的js时我们可以使用minify-maven-plugin插件的google 的closure-compiler编译器,minify-maven-plugin的使用有很多配置项,我们都可以去minify-maven-plugin插件官网和minify-maven-plugin插件的GitHub主页浏览使用,具体使用可以参考以下地址:

Minify Maven Plugin - Introductionicon-default.png?t=M4ADhttps://samaxes.github.io/minify-maven-plugin/

GitHub - samaxes/minify-maven-plugin: Combine and minimize JavaScript and CSS files for faster page loading.Combine and minimize JavaScript and CSS files for faster page loading. - GitHub - samaxes/minify-maven-plugin: Combine and minimize JavaScript and CSS files for faster page loading.https://github.com/samaxes/minify-maven-plugin

使用minify-maven-plugin的pom文件

 

<plugin>
			    <groupId>com.samaxes.maven</groupId>
			    <artifactId>minify-maven-plugin</artifactId>
			    <version>1.7.6</version>
			    <executions>
			        <execution>
			            <id>default-minify</id>
			            <configuration> 
                  <webappTargetDir>${project.build.directory}/classes</webappTargetDir>
			                <charset>UTF-8</charset>
			                <closureWarningLevels>
				                <es5Strict>OFF</es5Strict>
				            </closureWarningLevels>
			                <cssSourceDir>src/main/resources/static</cssSourceDir>
			                <!--将压缩后的css文件放到以下目录下-->
			                <cssTargetDir>static</cssTargetDir>
			                <cssIncludes>
			                    <cssInclude>**/*.css</cssInclude>
			                </cssIncludes>
			                <cssExcludes>
			                    <cssExclude>**/*.min.css</cssExclude>
			                </cssExcludes>
			 
			                <!-- 压缩src/main/resources/static目录下的所有js文件,但是排除*.min.js文件; -->
			                <jsSourceDir>src/main/resources/static</jsSourceDir>
			                <!--将压缩后的js文件放到以下目录下-->
                            <jsTargetDir>static</jsTargetDir>
			                <jsIncludes>
			                    <jsInclude>**/*.js</jsInclude>
			                </jsIncludes>
			                <jsExcludes>
			                    <jsExclude>**/*.min.js</jsExclude>
			                    <jsExclude>**/fileinput.js</jsExclude>
			                    <jsExclude>**/bootstrap-table/**</jsExclude>
			                </jsExcludes>
			                
			 
			                <!-- 使用closure压缩时的压缩级别,默认值为SIMPLE_OPTIMIZATIONS。可选值: -->
			                <!-- WHITESPACE_ONLY:只压缩空格和转换一些特殊符号 -->
			                <!-- SIMPLE_OPTIMIZATIONS:简单的压缩 -->
			                <!-- ADVANCED_OPTIMIZATIONS:高级压缩,此压缩方式下可能会将引用的第3方框架的方法名称修改,导致js报错;慎用。 -->
			                <closureCompilationLevel>SIMPLE_OPTIMIZATIONS</closureCompilationLevel>
			                <webappSourceDir>${project.basedir}</webappSourceDir>
			 
			                <!-- js压缩引擎,默认值为YUI。可选值: -->
			                <!-- YUI: 使用YUI Compressor压缩; -->
			                <!-- CLOSURE: 使用Google Closure Compiler压缩 -->
			                <jsEngine>CLOSURE</jsEngine>
			                <skipMerge>true</skipMerge><!-- 不合并js/css -->
			                <nosuffix>true</nosuffix><!-- 压缩后的文件不.js前添加.min前缀 -->
			            </configuration>
			            <goals>
			                <goal>minify</goal>
			            </goals>
			        </execution>
			    </executions>
			</plugin>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值