修改两个文件之间的对象

时间:2017-06-10 21:28:54

标签: javascript node.js

我正在开发一个nodejs项目并坚持这个问题。 我在一个文件中有一个空对象,并将在第二个文件中更新此对象值。

jsonFile.js

var jsonObj = {



    first: []

    ,
    second: []


    ,
    third: [],
};


exports.jsonObj=jsonObj;

pushdata.js

 var obj= require('./jsonFile.js');
 // i'll retrieve data from file and push into the obj...
 // for the sake of simplicity im not writing data fetching code..

ojb.jsonObj.first.push("user1");

如何在 pushdata.js 文件中更新此对象,以便它还更新/更改 jsonFile.js

中的对象

2 个答案:

答案 0 :(得分:2)

处理此问题的最佳方法是执行以下操作:

  1. 将jsonFile.js更改为.json文件(您仍可以按原样使用它)
  2. 更新它,例如: ojb.jsonObj.first.push( “用户1”);
  3. 将更改写入文件系统。
  4. 这是一个代码示例:

    <强> jsonFile.json

    struct Beta {
      Beta_ab ab;
      Beta_ab && getAB() && { cout << "1"; return move(ab); }
      Beta_ab && getAB() { cout << "2"; return move(ab); }
    };
    
    int main() {
        Beta b;
        Beta_ab ab1 = b.getAB();
    
        Beta_ab ab2 = Beta().getAB();
    
        return 0;
    }
    

    <强> pushdata.js

    <web-app>
    ...
    <context-param> 
        <description>Location to store uploaded file</description> 
        <param-name>file-upload</param-name> 
        <param-value>
            C:\Users\George\Desktop\dataFolder\
         </param-value> 
    </context-param>
    ...
    </web-app>
    

    为简单起见,使用writeFileSync,但最好使用异步功能进行文件系统写入,以避免阻塞代码。

答案 1 :(得分:1)

你不能&#39;以这种方式更新jsonFile.js文件,因为需要创建实例 每次调用require() 如果要更新文件,则需要创建json数据文件, 使用fs模块读取该json文件并转换为javascript对象并更新javascript对象,然后使用JSON.stringfy转换字符串,然后使用fs模块写入文件。

OR 您可以在nodeJS中创建服务以在模块之间共享数据