使用节点js编辑JavaScript文件 [英] edit JavaScript files using node js
本文介绍了使用节点js编辑JavaScript文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用nodeJS在JavaScript文件中查找和编辑属性值.
How can I find and edit an attribute value in a JavaScript file using nodeJS.
例如:如果我有一个名为app.js的文件,其中包含以下代码.
for example: If i have a file called app.js containing following code.
let title = "hello world";
document.getElementById("arr").innerHTML = title;
如何使用nodeJS更改 title let title = "hello world";
或任何其他属性的值.
how can I change the value of title let title = "hello world";
or any other attribute using nodeJS.
推荐答案
我能够使用正则表达式编辑JavaScript文件.我的代码如下:
I was able to edit a JavaScript file using regex. my code is below:
function updateFile(filename, replacements) {
return new Promise(function(resolve) {
fs.readFile(filename, 'utf-8', function(err, data) {
var regex, replaceStr;
if (err) {
throw (err);
} else {
regex = new RegExp("(\\" + 'let' + "\\s* ]*" + replacements[0].rule + "\\s*=\\s*)([^\\n;}]+)([\\s*;}])");
replaceStr = "$1" + replacements[0].replacer + "$3";
data = data.replace(regex, replaceStr);
}
fs.writeFile(filename, data, 'utf-8', function(err) {
if (err) {
throw (err);
} else {
resolve();
}
});
});
})
}
用法:
var file = src/app.js
var myNewValue = "Hello";
updateFile(file, [{
rule: 'newApp',
replacer: myNewValue
}], function (err) {
sails.log.info((err));
});
这将进行编辑,
let newApp = lol; to let newApp = Hello;
这篇关于使用节点js编辑JavaScript文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文