Edit Javascript Files Using Node Js
How can I find and edit an attribute value in a JavaScript file using nodeJS. for example: If i have a file called app.js containing following code. let title = 'hello world'; do
Solution 1:
Instead of trying to parse/edit JS files why not use something like JSON which is easy to serialize?
Your gulp task can write whatever values are needed to a file:
const fs = require('fs')
fs.writeFileSync('./blah.json', JSON.stringify({ title: "whatever" }))
Then your code references the JSON file
const title = require('./blah.json').titledocument.getElementById("arr").innerHTML = title;
Solution 2:
I was able to edit a JavaScript file using regex. my code is below:
functionupdateFile(filename, replacements) {
returnnewPromise(function(resolve) {
fs.readFile(filename, 'utf-8', function(err, data) {
var regex, replaceStr;
if (err) {
throw (err);
} else {
regex = newRegExp("(\\" + '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();
}
});
});
})
}
usage:
var file = src/app.jsvar myNewValue = "Hello";
updateFile(file, [{
rule: 'newApp',
replacer: myNewValue
}], function (err) {
sails.log.info((err));
});
this will edit,
let newApp = lol; tolet newApp = Hello;
Post a Comment for "Edit Javascript Files Using Node Js"