我试图缩小我的HTML。我刚刚发现并开始使用the gulp-htmlmin
plugin
我的大口任务......
gulp.task('build-html',function(){
return gulp.src(appDev+'test.html')
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest(appProd));
});
在应用于此有效HTML或具有<
字符的任何文档时失败:
<div> < back </div>
错误是:
Error: Parse Error: < back </div>
at new HTMLParser (html-minifier\src\htmlparser.js:236:13)
我可以想到两个解决方案:
在我的所有模板中将<
替换为<
。手动这样做不会很有趣,但这就是生活。知道如何在gulp任务中做到这一点吗?
抛弃此插件以搜索可以解析和缩小模板的插件。有什么建议吗?
猜猜我想知道有人在构建部署方面更有经验(我是新的)会处理这个问题。
答案 0 :(得分:1)
我担心你不得不将它们改为<
。 html-minifier
小组已明确指出they won't support bare <
s。
无论如何,您都希望这样做,既不会破坏解析器并防止某些XSS攻击。参见
了解更多信息。
好消息是值得编码的任何文本编辑器都支持项目范围或至少多文件搜索和替换。假设您的所有HTML <tags>
在<
之后没有空格,您应该只需将“&lt;”替换为“&amp; lt;”。
答案 1 :(得分:0)
我决定用android:scaleType
替换所有<
因为我认为这可能会让我感到悲伤。除了@henry在他的回答中提出了很好的观点。
虽然相信我的IDE能够在不破坏我的代码的情况下进行查找和替换,但我的鸡太大了。相反,我遵循了以下步骤:
最终我修复了所有文件。