찾다
웹 프론트엔드HTML 튜토리얼maven 关于构建版本号,以及在构建的时候压缩css,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으로 문의하세요.
怎么在maven中将springboot打成jar包怎么在maven中将springboot打成jar包May 17, 2023 am 08:19 AM

maven的命令:1.mvncleanpackage-DskipTests:在项目目录下运行此命令,在target目录下生成jar包或war包。2.mvnclean:清理项目生产的临时文件,一般是模块下的target目录3.mvncompile-DskipTests:模块安装命令将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用-Dmaven.test.skip=true跳过测试(同时会跳过testcompile).4.mvntest:测试命令,或执行src/test/java/下

解析Maven本地仓库配置的全面指南解析Maven本地仓库配置的全面指南Jan 05, 2024 pm 12:40 PM

Maven本地仓库配置详解,需要具体代码示例在使用Maven进行项目构建时,本地仓库的配置是非常重要的一部分。本文将详细介绍如何正确配置Maven本地仓库,并附带代码示例。Maven本地仓库是用于保存项目中所需的依赖库的地方。当Maven构建项目时,它会根据项目中的pom.xml文件中的依赖配置,自动从远程仓库中下载所需的依赖库,并保存在本地仓库中。这样,当

maven的本地仓库怎么配置maven的本地仓库怎么配置Jan 04, 2024 am 11:18 AM

maven配置本地仓库的步骤:1、下载和安装Maven;2、配置环境变量;3、创建本地仓库文件夹;4、配置Maven的settings.xml文件;5、修改本地仓库位置;6、保存并关闭settings.xml文件;7、测试配置。详细介绍:1、下载和安装Maven,需要在计算机上下载和安装Maven,可以从Maven官网下载最新版本的Maven,根据操作系统选择合适的安装包等等。

maven下载慢怎么办maven下载慢怎么办Jan 03, 2024 pm 03:42 PM

maven下载慢的解决办法:1、网络问题;2、代理设置;3、镜像设置;4、清理本地仓库;5、使用Maven的下载管理功能;6、升级Maven版本;7、插件问题;8、清理系统缓存;9、尝试使用其他工具。详细介绍:1、网络问题,检查网络连接是否稳定,如果网络不稳定可能导致下载速度慢,尝试切换到其他网络环境或者使用更稳定的网络连接;2、代理设置,如果网络需要通过代理服务器访问等等。

Springboot2.6集成redis maven报错怎么解决Springboot2.6集成redis maven报错怎么解决May 28, 2023 pm 12:55 PM

Springboot2.6集成redismaven报错org.springframework.bootspring-boot-starter-data-redis当加这个配置后,POM.xml的第一行总是报错:DescriptionResourcePathLocationTypeio.lettuce:lettuce-core:jar:6.1.8.RELEASEfailedtotransferfromhttps://repo.maven.apache.org/maven2duringaprevio

Java之怎么实现maven打完jar包之后将jar包放到指定位置Java之怎么实现maven打完jar包之后将jar包放到指定位置May 13, 2023 am 11:46 AM

方式一通过maven-jar-plugin指定outputDirectory输出路径可以排除某些配置文件,没有文件夹的话会自动创建!org.apache.maven.pluginsmaven-jar-pluginD:\test**/*.properties**/*.xml**/*.ymlstatic/**templates/**方式二通过maven-resources-plugin指定outputDirectory输出路径org.apache.maven.pluginsmaven-resourc

maven打包插件有哪些maven打包插件有哪些Jan 03, 2024 pm 05:18 PM

maven打包插件有:1、maven-jar-plugin;2、maven-assembly-plugin;3、maven-shade-plugin;4、spring-boot-maven-plugin;5、maven-dependency-plugin;6、maven-resources-plugin;7、maven-compiler-plugin等等。

Java错误:Maven错误,如何解决和避免Java错误:Maven错误,如何解决和避免Jun 24, 2023 pm 05:33 PM

在Java开发过程中,Maven是一个非常常用的工具。它可以帮助我们管理依赖、构建项目、运行测试等。然而,有时候我们会遇到Maven错误,这会给我们带来一定的麻烦。本文将介绍一些常见的Maven错误及其解决方法,以及如何避免这些错误的发生。一、依赖错误1.缺少依赖缺少依赖是Maven中最常见的错误之一。这通常是由于依赖配置不正确导致的。在使用Maven时,我

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.