在Node.js Express应用程序中,有一种方法可以在将所有Handlebars模板发送到渲染器之前将其缩小吗?
我考虑过创建一个在HTML响应体上进行缩小的Express中间件 - 但我很快意识到这种效果非常低,因为每次HTTP请求都会发生缩小。
必须有一种缩小.hbs模板并将其缓存到服务器端的方法吗?
答案 0 :(得分:0)
这就是诀窍: https://github.com/helpers/handlebars-helper-minify
唯一的问题是您必须在每个模板中手动包含帮助程序:
从模块的Github页面:
{{#minify removeComments="true"}}
{{> header }}
{{/minify}}
{{#minify removeEmptyElements="true"}}
{{> body }}
{{/minify}}
{{#minify removeComments="true"}}
{{> footer }}
{{/minify}}
答案 1 :(得分:0)
另一种解决方案是使用命令行中的html-minifier
和
--ignore-custom-fragments "/{{[{]?(.*?)[}]?}}/"
此正则表达式会忽略{{
和}}
之间的所有内容,并将其余部分缩小为HTML。
答案 2 :(得分:0)
仅添加下一个标志“ --continue-on-parse-error”,以下命令对我有用:
html-minifier --input-dir [SOURCE_DIR] --output-dir [TARGET_DIR] --file-ext hbs --collapse-whitespace --continue-on-parse-error --remove-comments --minify-css true --minify-js true