我正在尝试使用nodejs
修改HTML
文件,以便在HTML
的开头附加一个脚本标记,以便它在所有其他脚本之前执行。
我当前的代码如下所示:
const fs = require('fs');
const parse = require('node-html-parser').parse;
fs.readFile('test.html', 'utf8', (err,html)=>{
if(err){
throw err;
}
const root = parse(html);
const head = root.querySelector('head');
if (head !== null) {
head.insertBefore( '<script src = "test.js"></script>', head.firstChild);
fs.writeFile('test.html', root.toString(), function (err) {
if (err) return console.log(err);
});
}
});
但是InsertBefore
会引发异常。我该如何纠正这一点呢?
InsertBefore
将节点作为其第一个参数;你在传递一个字符串。改用innerHTML
插入脚本:
head.innerHTML = '<script src = "test.js"></script>' + head.innerHTML;
也可以使用insert邻接tml
。