前端代码 怎么格式化

后端 返回回来一堆前端代码 没有换行 前端展示的时候 怎么能格式化
image.png

阅读 3.5k
4 个回答

方案一:
找语法高亮插件。
但是如果要只在Textarea中显示就没办法了。只能看插件是否提供API做转换,然后自己处理了。

方案二:
自己实现。先做个tokenizer去解析文本,然后看情况是否需要转换成AST。然后你爱怎样显示就怎样显示。

可以使用 Prettier

const prettier = require("prettier/standalone")
const parserHTML = require("prettier/parser-html")

console.log(
  prettier.format(
    `<!DOCTYPE html><html lang="en"><head><meta charset="utf-8" /><link rel="icon" href="%PUBLIC_URL%/favicon.ico" /><meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
    <title>test</title>
  </head>
  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
  </body>
</html>`,
    {
      parser: "html",
      plugins: [parserHTML],
    }
  )
)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题