gpt4 book ai didi

node.js - 在 NodeJS 中修改 HTML 文件

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:49 30 4
gpt4 key购买 nike

让我先说两件事。我目前正在使用 grunt 来完成这些任务,而且我也知道 Yeoman 可以满足我的要求。我真的很喜欢 Yeoman,但是对于我正在从事的这个特定项目来说,它有点太固执己见了。

所以我有以下 HTML 文件:

<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">

<!-- START-CSS-MIN:css/build/min.css -->
<link rel="stylesheet" href="css/bootstrap/bootstrap-2.1.1.css">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/boilerplate.css">
<!-- END-CSS-MIN -->

<!-- START-JS-MIN:js/build/modernizr.js -->
<script src="js/libraries/modernizr.js"></script>
<!-- END-JS-MIN -->
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p>
<![endif]-->

<p>Hello world! This is a basline HTML5 template (based on HTML5 Boilerplate).</p>

<!-- START-JS-MIN:js/build/libraries.js -->
<script src="js/libraries/underscore.js"></script>
<script src="js/libraries/jquery/jquery.js"></script>
<!-- END-JS-MIN -->
</body>
</html>

现在您可以看到 CSS-MIN 和 JS-MIN 注释。现在我已经有了一个自定义的 grunt 构建任务,它可以正确地收集评论中的所有这些文件(使用 htmlparser),然后直接根据评论缩小和连接它们。构建过程的最后一步是创建该 HTML 文件的新版本(用于生产),用新文件替换注释。例如,上面的代码将变成这样:

<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">

<link rel="stylesheet" href="css/build/min.css">

<script src="js/build/modernizr.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p>
<![endif]-->

<p>Hello world! This is a basline HTML5 template (based on HTML5 Boilerplate).</p>

<script src="js/build/libraries.js"></script>
</body>
</html>

我的问题是如何在 NodeJS 中执行此操作? htmlparser NPM 模块非常适合解析 HTML,但是我现在需要一些东西来修改 HTML(在特定位置删除和添加某些元素)。是否有关于如何在 NodeJS 代码中执行此操作的任何好的软件包/教程?

最佳答案

我不太确定这对注释行是否有帮助,但与 DOM 引用相比,这应该不是一个需要解决的问题。

考虑使用:https://github.com/tmpvar/jsdom

还有其他选择。 (https://github.com/joyent/node/wiki/modules)

关于node.js - 在 NodeJS 中修改 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069522/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com