9

我正在处理一个 grunt 构建文件,它会点击一个 URL 并将输出写入静态 HTML 文件。我点击的网址已压缩 HTML,我想在写入静态文件之前将其打印出来。有没有什么好的模块可以做到这一点?我环顾四周,似乎 Max Ogden 的 html prettyprinter 是我最接近的选择(https://github.com/maxogden/commonjs-html-prettyprinter)。也许如果我将它与 grunt-shell 任务或其他东西结合起来?真的,我更愿意在 grunt 中只需要一个模块并说 pretty(my-file.html) 然后使用 fs 编写它,但到目前为止这被证明是难以捉摸的。

4

2 回答 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 回答