13

我已经看到了几个关于如何格式化 HTML 和 javascript 代码的问题。一个常见的答案似乎是jsbeautify(以及jsbeautify.js 的GitHub 页面)是一个很好的解决方案。

但是,我似乎无法让它正确格式化我的任何代码,我想知道是否有一些默认参数需要更改,或者我只是误解了美化应该做什么。我期望的是每个嵌套标签都将在一个缩进到适当级别的新行上。但相反,我看到的(这似乎不是 jsbeautifier 所独有的)是有时多个标签在同一行上串在一起,而中断行的指令被忽略。

示例 1:

我直接从这个问题中拿了这个例子。

<div id="hlogo">
    <a href="/">Stack Overflow</a>ABC</div>

当我转到 jsbeautifer.org 并输入上面的代码并单击“美化 Javascript 或 HTML”时,它什么也没做!我希望输出看起来像这样:

<div id="hlogo">
    <a href="/">Stack Overflow</a>ABC
</div>

这是另一个例子。我选择了“在 80 个字符附近换行”。

<!--Meta 6,1--><span><div>Just some sample text here which is fairly long, maybe about 100 characters or so, I'm not really counting.<input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/><script type="text/javascript">;
</script></div></span>

其输出如下。请注意,没有进行包装。

<!--Meta 6,1--><span><div>Just some sample text here which is fairly long, maybe about 100 characters or so, I'm not really counting.<input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/><script type="text/javascript">;
<
/script></div > < /span>

为什么<span>, <div>, 最好不在<input>单独的行上?为什么开口是&lt;在单独的线上?我期待这样的事情:

<!--Meta 6,1-->
<span>
    <div>
        Just some sample text here which is fairly long, maybe about 100 
        characters or so, I'm not really counting.
        <input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/>
        <script type="text/javascript">;
        </script>
    </div > 
</span>

我需要传递一些参数才能使其工作吗?我已经查看了有关此的文档,但结果是空的。

4

1 回答 1

0

您列出的第一个示例

<div id="hlogo"> <a href="/">Stack Overflow</a>ABC</div>

无法正常工作,因为 ABC 周围的正斜杠导致 beautify 将其读取为正则表达式。

在包装示例中,我认为存在问题,因为您在单词 I'm 中有撇号。我把它拿出来,beautify 在那之后做了一些移动。你试过repl.it吗?它是免费的,并且有一个更漂亮的按钮,我发现它真的很好用。

于 2018-02-19T05:21:47.883 回答