使用节点js编辑JavaScript文件 [英] edit JavaScript files using node js

查看:97
本文介绍了使用节点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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆