视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
maven关于构建版本号,以及在构建的时候压缩css,js并为这些文件追加版本号
2020-11-27 15:57:47 责编:小采
文档


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

主要分享点:

  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命名的文件,同时这个插件还打印出了其它一些信息。

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

下载本文
显示全文
专题