我有一个样式表,代码如下:
.author-name:before {
content:"by: ";
}
Run Code Online (Sandbox Code Playgroud)
当我通过YUI Compressor运行时,我得到:
.author-name:before{content:"by:"}
Run Code Online (Sandbox Code Playgroud)
这是一个问题,因为它消除了预期的空白.我想过使用YUI Compressor特别评论,如下:
.author-name:before {
/*!YUI-Compressor */content: "by: ";
}
Run Code Online (Sandbox Code Playgroud)
......可能有所帮助,但似乎没有.此外,评论本身也被抹去了.我的印象是基于JavaScript的注释开始/*! 得到保留,但实际上并没有发生.
如果没有后处理我的构建过程来取消通信,有没有办法做到这一点?我们目前正在使用YUI压缩器的2.3.5版本,并使用标志运行--charset utf8 -v -o
简而言之,我的问题是,有没有办法让YUI Compressor尊重content:值中的空格,或者在块我之前和之后添加CSS注释我不想缩小?
有没有人知道如何在Windows中使用YUI Compressor缩小/压缩javascript文件?我试图弄清楚如何安装它,然后使用msdos命令行压缩javascript.
谢谢!
我使用的NuGet拉进来YUICompressor.NET.MSBuild,这反过来又拉动YUICompressor.NET和EcmaScript.Net.
它还添加了对我的Web项目中所有三个DLL的引用.然后,我可以像这样添加UsingTask引用:
<UsingTask TaskName="CssCompressorTask" AssemblyFile="$(SolutionDir)\packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />
Run Code Online (Sandbox Code Playgroud)
然后使用该任务在AfterBuild目标中压缩我的Javascript/CSS
但是,我不想在我的web项目中引用这些DLL(因为它们实际上并不是我发布的内容的一部分)...但是当我删除引用时,CssCompressorTask再也找不到其他两个相关的DLL了(它们位于文件夹下的不同文件/packages夹中 - 如果它们在旁边则可以正常工作Yahoo.Yui.Compressor.Build.MsBuild.dll)
信不信由你,我花了好几个小时试图让依赖关系得到解决:首先我尝试修改AssemblySearchPaths以包含所有其他/ packages子文件夹,如下所示:
https://github.com/BenPhegan/NuGetAutoTransitiveDependencies
这不起作用,所以我尝试创建一个内联汇编解析器,如下所示:
这也不起作用.目前,我认为我唯一的选择是将依赖的DLL与UsingTask dll一起使用,不管怎样......但这感觉就像我的MSBuild foo让我失望:/
任何想法非常感谢!谢谢.
如何压缩内联脚本和样式标签?
我偶尔会编写JavaScript代码.我有兴趣缩小它以获得更好的性能,但我不打算花太多时间在那上面,特别是在测试缩小的结果时.
我找到了这个在线服务:http: //www.lotterypost.com/js-compress.aspx
所以有几个问题:
Eclipse PDT在文件的上下文菜单中有这个方便的内置Yui Compressor.但是,在构建使用多个此类文件的Web应用程序时,每次更新后手动压缩文件会变得很繁琐.它甚至不记得哪些文件压缩到哪个文件名,因此您必须再次输入.
是否可以在Eclipse中轻松自动化此过程,因此您可以单击"构建"或其他内容,所有指定的文件将被压缩到其目标?
关于Eclipse中这个Yui功能的文档确实存在真空.
我正在使用带有PDT 3.0.0.v20110516-11的Eclipse Indigo 3.7.0,但自从Galileo以来,PDT和Yui选项都保持相似
-update-
自动化解决方案,不是Eclipse本地但是接近:
GNU make makefile
%-min.js: %.js
${java} -jar ${compressor} $< -o ${<:.js=-min.js}
Run Code Online (Sandbox Code Playgroud)Windows批处理
FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy\%f
Run Code Online (Sandbox Code Playgroud)Linux Shellscript
ls -1 *.js | awk '{printf("java -jar yuicompressor.jar %s -o deploy/%s",$1,$1)}' | /bin/sh
Run Code Online (Sandbox Code Playgroud)ANT文件
请参见:http ://www.ubik-ingenierie.com/ubikwiki/index.php?title = Minifying_JS/CSS如何在此处
粘贴html/xml?
另见这个问题.
正如标题所说:YUI压缩器用双引号替换单引号的原因是什么?双引号占用的空间更少(我不这么认为)?或者是别的什么?
我使用小胡子/车把模板。
例如:
<script id="contact-detail-template" type="text/html">
<div>... content to be compressed </div>
</script>
Run Code Online (Sandbox Code Playgroud)
我希望在模板中压缩/缩小我的 HTML 文件以获得最佳压缩效果。
YUIcompressor,关闭不起作用,因为他们认为它是脚本并给我脚本错误。
即使 HTMLCompressor 认为它是一个脚本,它也不会触及它们。
如何使用 text/html 类型缩小脚本标签中的内容?我可以使用图书馆吗?如果没有,sed 或 egrep 是更好的方法吗?您是否有 sed/egrep 语法来删除空行(只有空格或制表符)、删除所有制表符、修剪多余的空格?
谢谢。
YUI Compressor在其(不是非常广泛的)文档中将此作为选项说明:
--disable-optimizations
Disable all the built-in micro optimizations.
Run Code Online (Sandbox Code Playgroud)
有谁知道这意味着什么?
这会打开/关闭什么?
我还没有找到任何关于它的文档.
谢谢!
我正试图让yui压缩机运行资产,如果这是运行的话,那就是sass.现在,两者都不起作用.从config.yml和twig模板中删除所有过滤器时,它可以工作并php app/console assetic:dump复制css和js文件.
现在我想添加yui压缩器,我的config.yml看起来像这样:
assetic:
debug: %kernel.debug%
use_controller: false
filters:
yui_js:
jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.6.jar
Run Code Online (Sandbox Code Playgroud)
将过滤器添加到模板并再次运行assetic:dump会在以下错误中结束(由我翻译消息):
[RuntimeException]
The syntax for filename, directory name or drive name is wrong
Run Code Online (Sandbox Code Playgroud)
我找到一篇文章告诉我指定java.exe的路径,所以我将它添加到config.yml:
assetic:
..
java: C:/Program Files (x86)/Java/jre6/bin/java.exe
..
Run Code Online (Sandbox Code Playgroud)
现在资产:转储告诉我:
[RuntimeException]
The COMMAND "C:/Program" is either written wrong or
Run Code Online (Sandbox Code Playgroud)
我尝试在配置中使用两个变量(使用\或\而不是/,添加单引号或双引号,使用短别名Progra~1或Progra~2),但我没有得到任何结果.这两个错误一直在增加.也许有人可以指出我正确的方向.
yui-compressor ×10
javascript ×4
minify ×4
yui ×3
assetic ×1
css ×1
eclipse ×1
eclipse-pdt ×1
msbuild ×1
msbuild-task ×1
mustache ×1
nuget ×1
sed ×1
symfony ×1
windows ×1