如何将文件写入漂亮的html?

kod*_*k98 5 html node.js js-beautify

我想将此 html 写入 test.html 文件:

<h2><strong><a href="http://awesome.com">AwesomeCom</a></strong><span>is awesome</span></h2>
Run Code Online (Sandbox Code Playgroud)

这将是 lokk 像:

<h2>
    <strong>
        <a href="http://awesome.com">
            AwesomeCom
        </a>
    </strong>
    <span>
         is awesome
   </span>
</h2>
Run Code Online (Sandbox Code Playgroud)

所以它看起来很漂亮等等......我试过这个代码:

var html = require("html");
var beautify_html = require('js-beautify').html;
var data = '<h2><strong><a href="http://awesome.com">AwesomeCom</a></strong><span>is awesome</span></h2>';
var beautyHtml= beautify_html(data);
fs.writeFile('test.html',beautyHtml, function (err) {});
Run Code Online (Sandbox Code Playgroud)

但它保持在一行......我写的是错误的吗?或者我必须添加一些东西?感谢您的帮助

Ale*_*lex 0

这个问题似乎是孤立的js-beautify

github 页面上有几个相关的未解决问题:

如果将任意 HTML 粘贴到 http://jsbeautifier.org/中,您还会发现此方法不起作用


如果我将 js-beautify 替换为Pretty-data,当格式化为 XML 时,我会得到所需的输出:

var fs = require('fs');
var pd = require('pretty-data').pd;
var data = '<h2><strong><a href="http://awesome.com">AwesomeCom</a></strong><span>is awesome</span></h2>';
var pdHtml= pd.xml(data);

fs.writeFile('test.html',pdHtml, function (err){});
Run Code Online (Sandbox Code Playgroud)

结果是

<h2>
  <strong>
    <a href="http://awesome.com">AwesomeCom</a>
  </strong>
  <span>is awesome</span>
</h2>
Run Code Online (Sandbox Code Playgroud)