Sal*_*ali 3 html minify knockout.js gruntjs grunt-contrib-htmlmin
我正在尝试使用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 -->
Run Code Online (Sandbox Code Playgroud)
所以当我使用minifier时有以下选项:
options: {
removeComments: true,
collapseWhitespace: true
}
Run Code Online (Sandbox Code Playgroud)
缩小后应用程序不起作用(不出意外,它会删除<!-- ko comments).删除removeComments解决了问题,但我的HTML有很多评论,只有少数是特定的淘汰赛.此外,所有淘汰赛评论都很容易识别:它们<!-- ko在开始和<!-- /ko -->结束时都有.
寻找潜在的HTML minifier选项 - 没有什么比"处理正确的淘汰评论"更像.
那么有没有办法解决我的问题:缩小html删除评论,但留下淘汰赛的具体评论?
所以...现在通过ignoreCustomComments选项实现.
这是我们测试套件的片段:
var input = '<!-- ko if: someExpressionGoesHere --><li>test</li><!-- /ko -->';
equal(minify(input, {
removeComments: true,
// ignore knockout comments
ignoreCustomComments: [
/^\s+ko/,
/\/ko\s+$/
]
}), input);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |