Skip to content Skip to sidebar Skip to footer

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"