我正在使用BundleTransformer来缩小css和js资源
<yui>
<css compressionType="Standard" removeComments="true" lineBreakPosition="-1" />
<js compressionType="Standard" obfuscateJavascript="true" preserveAllSemicolons="false" disableOptimizations="false" ignoreEval="false" severity="0" lineBreakPosition="-1" encoding="UTF8" threadCulture="en-us" />
</yui>正如您可以看到的,对于css,可以指定removeComments="true",但是在js中没有这样的选项。
我红了那个雨js压缩机默认情况下删除注释。是的,这是一种删除,但它仍然是这样的留言:
/* NUGET: BEGIN LICENSE TEXT
*
*Bla bla bla
*
* NUGET: END LICENSE TEXT */
/*!
* Bla
* Licensed under http://www.apache.org/licenses/LICENSE-2.0
*/似乎没有办法强迫YIU js小型机删除评论。
https://github.com/yui/yuicompressor:
C风格的评论开始于/*!都保存下来了。这对于包含版权/许可信息的注释非常有用。
通过使用BundleTransformer完全删除打包的小型输出文件中的所有注释,我还能做些什么吗?Google页面速度强烈建议我这样做。
发布于 2014-01-11 10:01:09
YUI压缩机不支持删除重要评论。
我建议您安装BundleTransformer.MicrosoftAjax软件包。然后将MicrosoftAjaxCssMinifier和MicrosoftAjaxJsMinifier注册为默认的小型化器,并将以下配置设置添加到Web.config文件中:
<configuration>
…
<bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
…
<microsoftAjax>
<css commentMode="None" />
<js preserveImportantComments="false" />
</microsoftAjax>
…
</bundleTransformer>
…
</configuration>发布于 2020-01-08 22:15:56
这是月增压版本2.4.8,但问题仍然存在。
如果您在linux上,可以使用sed命令来替换文件中的/*!和/*,然后再通过yuicompressor运行它。
我刚刚测试过的实际工作示例:
sed -i -e "s/\/\*\!/\/\*/g" script.js\/ -转义符号/
\* -转义符号*
\! -转义符号!
g -全局(正则表达式标志)
s -替换(正则表达式标志)
-i - "inplace“命令标志,它意味着动态替换(对同一个文件应用更改)
下一步:就像往常一样运行月压气机吧!
java -jar /path/to/yuicompressor-2.4.8.jar script.js -o script.min.js --charset utf-8https://stackoverflow.com/questions/20831597
复制相似问题