我想不出一个优雅的解决方案。但是,处理 HTML 文件、修改它并在命令行上使用脚本保存它的最佳方法是什么?我想基本上运行这个脚本,证明 HTML 文件作为参数,添加 data-test=<randomID>
进入每个<div>
元素,并将其保存回文件中。我在想我可以编写一个 JavaScript 脚本来执行 node
但我不确定如何获取所提供文件的内容,或者将内容存储为什么。感谢您的指点。
最佳答案
用 jsdom
解决(感谢提示,user1600124):
var jsdom = require("jsdom"),
fs = require('fs');
if (process.argv.length < 3) {
console.log('Usage: node ' + process.argv[1] + ' FILENAME');
process.exit(1);
}
var file = process.argv[2];
fs.readFile(file, 'utf8', function(err, data) {
if (err) throw err;
jsdom.env(
data,
["http://code.jquery.com/jquery.js"],
function (errors, window) {
var $ = window.jQuery;
$("p, li").each(function(){
$(this).attr("data-test", "test");
});
$(".jsdom").remove();
console.log( window.document.doctype + window.document.innerHTML );
var output = window.document.doctype + window.document.innerHTML;
fs.writeFile(file, output, function(err) {
if (err) throw err;
console.log('It\'s saved!');
});
});
});
关于javascript - 使用 JavaScript 从本地文件读取和修改 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18652901/