后端 返回回来一堆前端代码 没有换行 前端展示的时候 怎么能格式化
方案一:
找语法高亮插件。
但是如果要只在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],
}
)
)
13 回答13k 阅读
8 回答2.7k 阅读
2 回答5.2k 阅读✓ 已解决
5 回答1.3k 阅读
3 回答2.3k 阅读✓ 已解决
3 回答917 阅读✓ 已解决
5 回答1.6k 阅读✓ 已解决
丢到 HTML ..