我将使用maven依赖com.samaxes.maven#minify-maven-plugin来缩小我的前端项目.这个前端项目被打包成一个jar(java档案) - 所以我没有war文件,因为我使用Spring启动.
使用底部的配置*.min.js和*.min.css生成文件,但它们不会被打包到jar文件中.我已经阅读了一些线程,但我尝试了一些但没有成功:在JAR文件中仍然存在未经编译的css和js文件.
有没有人暗示我能做什么.我的项目中有很多css和js文件在不同的文件夹结构中,缩小的文件应放在同一个地方,就像未经文件化的文件一样.
<build>
<plugins>
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.4</version>
<executions>
<execution>
<id>default-minify</id>
<phase>package</phase>
<configuration>
<charset>UTF-8</charset>
<skipMerge>true</skipMerge>
<nosuffix>true</nosuffix>
<closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
<webappSourceDir>src/main/resources</webappSourceDir>
<cssSourceDir>./</cssSourceDir>
<cssTargetDir>./minified</cssTargetDir>
<cssSourceIncludes>
<cssSourceInclude>**/*.css</cssSourceInclude>
</cssSourceIncludes>
<cssSourceExcludes>
<cssSourceExclude>**/*.min.css</cssSourceExclude>
</cssSourceExcludes>
<jsSourceIncludes>
<jsSourceInclude>**/*.js</jsSourceInclude>
</jsSourceIncludes>
<jsSourceExcludes>
<jsSourceExclude>**/*.min.js</jsSourceExclude>
</jsSourceExcludes>
<jsEngine>CLOSURE</jsEngine>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
[编辑]
我用这种方式编辑了Maven插件.我真的必须使用src/main/recoures - 它是我们项目的规范.
我现在的问题是不同文件夹中的文件在主文件夹路径public/app下缩小但是缩小文件的文件夹与我的公共文件夹相同.
所以我需要这样的东西:
<webappTargetDir>**public/app/**${project.build.outputDirectory}</webappTargetDir>
Run Code Online (Sandbox Code Playgroud)
有可能像这样做吗?
<build>
<plugins>
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.4</version>
<executions>
<execution>
<id>default-minify</id>
<phase>prepare-package</phase><!-- When omitted defaults to 'process-resources' -->
<configuration>
<charset>UTF-8</charset>
<skipMerge>true</skipMerge>
<closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
<webappSourceDir>src/main/resources/public/app</webappSourceDir>
<webappTargetDir>${project.build.outputDirectory}</webappTargetDir>
<cssSourceDir>./</cssSourceDir>
<cssSourceIncludes>
<cssSourceInclude>**/*.css</cssSourceInclude>
</cssSourceIncludes>
<jsSourceDir>./</jsSourceDir>
<jsSourceIncludes>
<jsSourceInclude>**/*.js</jsSourceInclude>
</jsSourceIncludes>
<jsEngine>CLOSURE</jsEngine>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
使用上面的minify-maven-plugin配置,我在左侧获得了以下文件夹结构,但我需要在rigth端的文件夹结构.有没有可能这样做?
该文件从相对复制webappSourceDir到webappTargetDir.因此,如果您希望结构匹配,则应使用类似的模式.意思是,它应该是
<webappSourceDir>src/main/resources</webappSourceDir>
<webappTargetDir>${project.build.outputDirectory}</webappTargetDir>
Run Code Online (Sandbox Code Playgroud)
要么
<webappSourceDir>src/main/resources/public/app</webappSourceDir>
<webappTargetDir>${project.build.outputDirectory}/public/app</webappTargetDir>
Run Code Online (Sandbox Code Playgroud)
我在这里提交了工作示例
| 归档时间: |
|
| 查看次数: |
1019 次 |
| 最近记录: |