我正在处理一个 grunt 构建文件,它会点击一个 URL 并将输出写入静态 HTML 文件。我点击的网址已压缩 HTML,我想在写入静态文件之前将其打印出来。有没有什么好的模块可以做到这一点?我环顾四周,似乎 Max Ogden 的 html prettyprinter 是我最接近的选择(https://github.com/maxogden/commonjs-html-prettyprinter)。也许如果我将它与 grunt-shell 任务或其他东西结合起来?真的,我更愿意在 grunt 中只需要一个模块并说 pretty(my-file.html) 然后使用 fs 编写它,但到目前为止这被证明是难以捉摸的。
问问题
6154 次
2 回答
18
你找到了你需要的所有资源。该模块为您完成。
var html = require("html");
var data = '<h2><strong><a href="http://awesome.com">AwesomeCom</a></strong><span>is awesome</span></h2>';
var prettyData = html.prettyPrint(data, {indent_size: 2});
process.stdout.write(prettyData)
看看它的源码。
或者您可以使用child_process来执行 README: 中的命令html *.html
。
于 2012-10-13T17:59:22.740 回答
-1
如果您正在寻找替代方案(可能是因为某个项目已被放弃,或者您不喜欢该 API),您可以使用 NPM 的网站搜索其他的。这里有几个选项:https://www.npmjs.com/search?q=html%20prettify我按受欢迎程度排序并选择了第一个,漂亮。
代码最终看起来与被接受的答案非常相似:
import pretty from 'pretty';
var data = '<h2><strong><a href="http://awesome.com">AwesomeCom</a></strong><span>is awesome</span></h2>';
var prettyData = pretty(data);
process.stdout.write(prettyData)
于 2021-09-18T21:40:24.873 回答