- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 YUI Compressor 来压缩我的网络应用程序中的 JS 文件。
我已按照 the plugin's site 上的指示配置了插件。
这是 POM 插件配置:
<plugin>
<groupId>net.sf.alchim</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>0.7.1</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jslint</goal>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<failOnWarning>true</failOnWarning>
<nosuffix>true</nosuffix>
<force>true</force>
<aggregations>
<aggregation>
<!-- remove files after aggregation (default: false) -->
<removeIncluded>false</removeIncluded>
<!-- insert new line after each concatenation (default: false) -->
<insertNewLine>false</insertNewLine>
<output>${project.basedir}/${webcontent.dir}/js/compressedAll.js</output>
<!-- files to include, path relative to output's directory or absolute path-->
<!--inputDir>base directory for non absolute includes, default to parent dir of output</inputDir-->
<includes>
<include>**/autocomplete.js</include>
<include>**/calendar.js</include>
<include>**/dialogs.js</include>
<include>**/download.js</include>
<include>**/folding.js</include>
<include>**/jquery-1.4.2.min.js</include>
<include>**/jquery.bgiframe.min.js</include>
<include>**/jquery.loadmask.js</include>
<include>**/jquery.printelement-1.1.js</include>
<include>**/jquery.tablesorter.mod.js</include>
<include>**/jquery.tablesorter.pager.js</include>
<include>**/jquery.dialogs.plugin.js</include>
<include>**/jquery.ui.autocomplete.js</include>
<include>**/jquery.validate.js</include>
<include>**/jquery-ui-1.8.custom.min.js</include>
<include>**/languageDropdown.js</include>
<include>**/messages.js</include>
<include>**/print.js</include>
<include>**/tables.js</include>
<include>**/tabs.js</include>
<include>**/uwTooltip.js</include>
</includes>
<!-- files to exclude, path relative to output's directory-->
</aggregation>
</aggregations>
</configuration>
<dependencies>
<dependency>
<groupId>rhino</groupId>
<artifactId>js</artifactId>
<scope>compile</scope>
<version>1.6R5</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.0.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.0.7</version>
<scope>provided</scope>
</dependency><dependency>
<groupId>net.sf.retrotranslator</groupId>
<artifactId>retrotranslator-runtime</artifactId>
<version>1.2.9</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
这是压缩时的日志:
These will use the artifact files already in the core ClassRealm instead, to allow them to be included in PluginDescriptor.getArtifacts().
[DEBUG] Configuring mojo 'net.sf.alchim:yuicompressor-maven-plugin:0.7.1:jslint'
[DEBUG] (f) failOnWarning = true
[DEBUG] (f) jswarn = true
[DEBUG] (f) outputDirectory = C:\test\target\classes
[DEBUG] (f) project = MavenProject: com.test.test1:test2:19-SNAPSHOT @ C:\test\pom.xml
[DEBUG] (f) resources = [Resource {targetPath: null, filtering: false, FileSet {directory: C:\test\src,
PatternSet [includes: {}, excludes: {**/*.class, **/*.java, site/*}]}}]
[DEBUG] (f) sourceDirectory = C:\test\src\..\js
[DEBUG] (f) warSourceDirectory = C:\test\src\main\webapp
[DEBUG] (f) webappDirectory = C:\test\target\test2-19-SNAPSHOT
[DEBUG] -- end configuration --
[INFO] [yuicompressor:jslint {execution: default}]
[INFO] nb warnings: 0, nb errors: 0
[DEBUG] Configuring mojo 'net.sf.alchim:yuicompressor-maven-plugin:0.7.1:compress' -->
[DEBUG] (f) removeIncluded = false
[DEBUG] (f) insertNewLine = false
[DEBUG] (f) output = C:\test\WebContent\js\compressedAll.js
[DEBUG] (f) includes = [**/autocomplete.js, **/calendar.js, **/dialogs.js, **/download.js, **/folding.js, **/jquery-1.4.2.min.js, **/jquery.bgifram
e.min.js, **/jquery.loadmask.js, **/jquery.printelement-1.1.js, **/jquery.tablesorter.mod.js, **/jquery.tablesorter.pager.js, **/jquery.dialogs.p
lugin.js, **/jquery.ui.autocomplete.js, **/jquery.validate.js, **/jquery-ui-1.8.custom.min.js, **/languageDropdown.js, **/messages.js, **/print.js, *
*/tables.js, **/tabs.js, **/uwTooltip.js]
[DEBUG] (f) aggregations = [net.sf.alchim.mojo.yuicompressor.Aggregation@65646564]
[DEBUG] (f) disableOptimizations = false
[DEBUG] (f) encoding = Cp1252
[DEBUG] (f) failOnWarning = true
[DEBUG] (f) force = true
[DEBUG] (f) gzip = false
[DEBUG] (f) jswarn = true
[DEBUG] (f) linebreakpos = 0
[DEBUG] (f) nomunge = false
[DEBUG] (f) nosuffix = true
[DEBUG] (f) outputDirectory = C:\test\target\classes
[DEBUG] (f) preserveAllSemiColons = false
[DEBUG] (f) project = MavenProject: com.test.test1:test2:19-SNAPSHOT @ C:\test\pom.xml
[DEBUG] (f) resources = [Resource {targetPath: null, filtering: false, FileSet {directory: C:\test\src,
PatternSet [includes: {}, excludes: {**/*.class, **/*.java, site/*}]}}]
[DEBUG] (f) sourceDirectory = C:\test\src\..\js
[DEBUG] (f) statistics = true
[DEBUG] (f) suffix = -min
[DEBUG] (f) warSourceDirectory = C:\test\src\main\webapp
[DEBUG] (f) webappDirectory = C:\test\target\test2-19-SNAPSHOT
[DEBUG] -- end configuration --
[INFO] [yuicompressor:compress {execution: default}]
[INFO] generate aggregation : C:\test\WebContent\js\compressedAll.js
[INFO] compressedAll.js (407505b)
[INFO] nb warnings: 0, nb errors: 0
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin:2.2:testResources' -->
[DEBUG] (f) filters = []
[DEBUG] (f) outputDirectory = C:\test\target\test-classes
[DEBUG] (f) project = MavenProject: com.test.test1:test2:19-SNAPSHOT @ C:\test\pom.xml
[DEBUG] (f) resources = [Resource {targetPath: null, filtering: false, FileSet {directory: C:\test\test
, PatternSet [includes: {}, excludes: {**/*.class, **/*.java}]}}]
[DEBUG] -- end configuration --
问题是,虽然文件被聚合到一个文件中,但它是在没有压缩的情况下发生的。
上面的链接使用的是1.1版本,我使用的插件版本是0.7.1。这会产生任何影响吗?
有人能告诉我这里出了什么问题吗?
PS:为了遵循我公司的合规规则,我对日志中的一些文本进行了混淆,因此您可能会发现某些地方不匹配。
最佳答案
据我所知,您没有配置应检查或压缩 js 文件的位置(因为您不使用默认配置)。您只需配置聚合。
为了更快地响应,请使用 issue tracker of yuicompressor-maven-plugin
解决方案(从 project FAQ 复制/粘贴)
因为:
您设置<nosuffix>true</nosuffix>
您的脚本位于 src/main/webapp 和 maven-war-plugin 下,将每个文件从 src/main/webapp 复制到目标(无论时间戳,...)并进行 war (在同一执行中) .
解决方法:
将脚本目录从 webapp 中移出
<plugin>
<groupId>@project.groupId@</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
...
<configuration>
<!-- default ${project.build.sourceDirectory}/../js == src/main/js -->
<sourceDirectory>src/main/javascript</sourceDirectory>
或者从要复制的文件列表中排除“脚本”
<!-- adapted from https://github.com/davidB/yuicompressor-maven-plugin/blob/master/src/it/demo01/pom.xml -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceExcludes>scripts/**</warSourceExcludes>
</configuration>
</plugin>
关于maven-2 - YUI Compressor Maven 插件不压缩 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3836548/
我想有条件地在 {% compress css %} 中导入一个 LESS 文件像这样阻止: {% compress css %} {% ifequal app "custom" %}
我正在尝试使用 Maven 的 YUI Compressor 插件来压缩我的 CSS 和 JavaScript,但我遇到了两个问题。 我的配置正确地压缩和聚合了 JavaScript 文件,但是如果我
我正在使用Yahoo.Yui.Compressor.Build.MsBuild压缩 css 和 javascript 文件。我已经安装了Yahoo.Yui.Compressor.Build.MsBui
为了加快网站的加载速度,我们通常要多js和css进行压缩处理。这些js和css的压缩工作如果都手动处理,费时费力。 Django Compressor 可以实现js/css的自动压缩。Django
此问题专门针对使用 Django Compressor 的生产站点。我希望这在 COMPRESS_OFFLINE = True 时起作用,以便我可以在推送到生产之前预压缩我网站的所有 css 文件。
我正在使用 django-compressor Django 1.2.3 中的应用程序来缩小和合并一些包含的 CSS 和 JS 文件。在基本模板中,我有 {% load compress %} {%
我正在使用 django-compressor 来编译 scss 文件。 每次我修改 scss 文件时,django-compressor 都会在 /static/CACHE/css/123456.c
我有幸发现django_compressor并在我们的堆栈中实现它,该堆栈部署到许多服务器(目前有 6 个,但随着我们部署更小的虚拟机而增长。) 现在,如果您使用最好的 django_compress
我不确定我是否做对了,但问题是: 我正在使用 django-compressor与 lessc预处理器 一些 LESS 文件具有相对图像 URL。有些是我的,有些是 3rd 方库(例如 Bootstr
我正在使用 django-compressor压缩我网站的静态 CSS 和 Javascript 文件。由于我通过 Amazon S3 为我站点的静态 Assets 提供服务,因此我也在使用 djan
我遵循了在 SO 和不同博客中找到的所有 QA 建议,在我的开发机器上一切正常,而在 heroku 上没有任何效果。 这是我的设置: DEFAULT_FILE_STORAGE = 'arena.uti
我正在使用 django-compressor 和 django-staticfiles(外部版本,我使用的是 Django 1.2)。 当我尝试加载我的网站时,出现错误: TemplateSynta
我有一个 django 1.4.2 应用程序,其中包含 django-compressor 1.2,用于压缩 less 文件。 我的 less 文件位于 app/static/css/home.les
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 5 年前。 如果我没有记错的话,我在 fra
目前我正在使用 YUI Compressor 2.4.6 压缩一个包含特殊字符如 \b 的 JavaScript 文件。如果我在本地测试它没有问题,一切正常。不幸的是,如果我在服务器上使用它(它是 A
我正在使用 django-compressor 来压缩 css 文件。 我按照 http://django-compressor.readthedocs.org/en/latest/quickstar
我正在为静态资源使用 Django 压缩器。如何在尝试压缩内联样式标签时,它从样式标签中删除了我需要用于其他一些东西的自定义属性 代码: {% compress css inline %}
我想使用 django_compressor,但它在我的生产环境中不起作用。 在开发中 (DEBUG=True),它正在运行并创建了 .sass-cache 和 CACHE 文件夹。 我的settin
我正在使用 django-compressor 压缩我的 css,所以我在 HTML 中写了 next: {% load compress %} {% compress css %} {%
我正在尝试使用 django-compressor 压缩我的 CSS 文件,但我一直收到此错误: compressor.exceptions.OfflineGenerationError: You h
我是一名优秀的程序员,十分优秀!