我正在为我的 react 应用程序构建编写一个脚本,因为我需要修改一点创建的 index.html。所以我使用 jsdom 进行修改,然后传递dom.serialize()
给 fs.writeFile() 以将我的修改写回 index.html。
这几乎给了我想要的东西,但最终看起来像这样:
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="./favicon.ico">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="./manifest.json">
<title>React App</title>
<link href="./static/css/main.fed2fd6d.chunk.css" rel="stylesheet">
</head>
<body><noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script src="./indexBody.js"></script>
<script src="./static/js/2.be491123.chunk.js"></script>
<script src="./static/js/main.9c71d46b.chunk.js"></script>
</body>
</html>
所有链接标签都/>
从它们的末端取下来,这将使我每次都必须手动添加它们......我尝试将 jsdom.serialize 传递给 parse5,然后返回到 xmlserializer。这保留了末尾的“/>”,但将脚本标签更改为以结尾/>
而不是</script>
,导致它们无法加载到我的页面上...
有谁知道我如何使用 jsdom 保留链接元素上的结束标签?