我正在尝试使用grunt-contrib-html来缩小我的html。我使用带无容器控制流语法的敲除的唯一问题,它只是html注释,但敲除确实很重要:
<ul>
<li>This item always appears</li>
<!-- ko if: someExpressionGoesHere -->
<li>I want to make this item present/absent dynamically</li>
<!-- /ko -->
</ul>
<!-- ko foreach: myItems -->
<li>Item <span data-bind="text: $data"></span></li>
<!-- /ko -->
因此,当我使用带有以下选项的minifier时:
options: {
removeComments: true,
collapseWhitespace: true
}
缩小后应用程序无法正常工作(不足为奇,它将删除<!-- ko comments
)。删除removeComments
可以解决问题,但是我的html有很多注释,只有少数注释是特定于剔除的。此外,所有剔除注释都易于识别:<!-- ko
在开头和<!-- /ko -->
结尾都有注释。
寻找潜在的HTML缩小器选项-类似于“正确处理敲除注释”之类的东西。
那么有没有办法解决我的问题:缩小html删除注释,但保留特定的注释?
所以...现在可以通过ignoreCustomComments
option实现。
这是我们测试套件的片段:
var input = '<!-- ko if: someExpressionGoesHere --><li>test</li><!-- /ko -->';
equal(minify(input, {
removeComments: true,
// ignore knockout comments
ignoreCustomComments: [
/^\s+ko/,
/\/ko\s+$/
]
}), input);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句