首页 web前端 html教程 maven 关于构建版本号,以及在构建的时候压缩css,js并为这些文件追加版本号

maven 关于构建版本号,以及在构建的时候压缩css,js并为这些文件追加版本号

Jun 24, 2016 am 11:54 AM
js


最近负责公司一个项目框架的搭建,由于我们这边是后端团队,没有专业的前端工程师支持我们,我就在这个搭建过程中遇到了一些前端问题,给大家分享一下。

 

主要分享点:

  1. 构建项目时自动在css,js文件名中加入版本号     解决新上线版本时,浏览器可以更新缓存

  2. 构建项目自动压缩css,js资源文件     加快响应速度

解决第一个问题,是在构建的时候必须生成一个构建版本号,比如构建时刻的timestamp,正好在网上看到这样的插件,配置信息如下

<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <configuration>
                        <format>{0,date,yyyy-MM-dd HH:mm:ss}</format>
                        <items>
                            <item>timestamp</item>
                        </items>
                    </configuration>
                </configuration>
            </plugin>
登录后复制

这个插件的作用是在构建的时候在maven的生命周期validate阶段生成一个版本号,当你需要这个版本号的时候你可以通过${timestamp}引入,具体这个插件的使用可以查看官网: http://mojo.codehaus.org/buildnumber-maven-plugin/index.html

有了这个版本号,接下来的问题就是在每个页面引入css,js的文件可以被copy一份名字以xx.{version}.css,xx.${version}.js的文件,这就要用到第二个插件了,看下面的配置信息:

 <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>yuicompressor-maven-plugin</artifactId>
                <version>1.5.0</version>
                <executions>
                    <execution>
                        <phase>${assert.compress}</phase> 
                        <goals>
                            <goal>compress</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--<nosuffix>true</nosuffix>-->
                    <suffix>.${timestamp}</suffix>
                    <force>true</force>
                    <encoding>utf-8</encoding>
                    <excludes>
                        <exclude>**/*.pack.js</exclude>
                        <exclude>**/compressed.css</exclude>
                        <exclude>**/*.min.css</exclude>
                        <exclude>**/*.min.js</exclude>
                    </excludes>
                </configuration>
            </plugin>
登录后复制



这个插件不但解决我上面分享里写的第二个压缩css,js文件,同时还可以把压缩后的文件名追加版本号,有了这个插件真是太好了,关于这个插件具体使用信息请看: http://davidb.github.io/yuicompressor-maven-plugin/index.html

看下下面的构建信息,注意框框里面的内容,可以看到jquery-ui.js被压缩成以文件名 jquery-ui.1414549216019.js命名的文件,同时这个插件还打印出了其它一些信息。

到这里,想要的样式文件都已经有了,紧接着要做的是怎么在文件内进行替换


以上就是maven 关于构建版本号,以及在构建的时候压缩css,js并为这些文件追加版本号的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

vue中placeholder是什么意思 vue中placeholder是什么意思 May 07, 2024 am 09:57 AM

vue中placeholder是什么意思

vue中空格怎么写 vue中空格怎么写 Apr 30, 2024 am 05:42 AM

vue中空格怎么写

vue中怎么获取dom vue中怎么获取dom Apr 30, 2024 am 05:36 AM

vue中怎么获取dom

js中span是什么意思 js中span是什么意思 May 06, 2024 am 11:42 AM

js中span是什么意思

js中rem是什么意思 js中rem是什么意思 May 06, 2024 am 11:30 AM

js中rem是什么意思

vue中引入图片的方法 vue中引入图片的方法 May 02, 2024 pm 10:48 PM

vue中引入图片的方法

span标签的作用是什么 span标签的作用是什么 Apr 30, 2024 pm 01:54 PM

span标签的作用是什么

js中prompt怎么换行 js中prompt怎么换行 May 01, 2024 am 06:24 AM

js中prompt怎么换行

See all articles