如果不存在变量替换问题,请跳转至该链接 https://blog.csdn.net/lianggeblog/article/details/100047723 进行快速配置。
需求:
发布线上正式版本时需要对js文件进行压缩,但项目中的js、html文件中有动态变量需要通过maven进行动态替换,核心配置如下
<!--指定变量替换文件所在位置-->
<filters>
<filter>src/main/resources/test.properties</filter>
</filters>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<includes>
<include>**/*.js</include>
<include>**/*.html</include>
</includes>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
效果就是打war包之前将src/main/resources/test.properties文件中配置的变量在src/main/webapp的js和html文件中进行替换。
方案:
现在实现方式有两种:1.对js文件进行压缩,再对其进行变量替换。
2.对js文件进行变量替换,再对其进行压缩。见篇幅二 https://blog.csdn.net/FU250/article/details/103195349
最终实现方式为第一种方式。
实现步骤如下:
1.首先使用压缩插件:com.samaxes.maven -- minify-maven-plugin,对 项目根目录/src/main/webapp下jslib下的所有js文件(如下:jslib/**/*.js),生成至 项目根目录/target/generated-sources 下。
<!--对静态资源js进行压缩-->
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.6</version>
<executions>
<execution>
<id>wp-minify</id>
<configuration>
<