我可以使用 json 文件作为 node.js 中的模块吗

Can I use json file as a module in node.js

我有一个 JSON 模块,其中包含这样的空容器:

{
    "files": {
        "rootNeeded":[],
        "folders":[],
        "files":[],
        "images":[],
        "text":[],
        "unknown":[]
    },
}

我想知道我是否可以仅通过使用 array.push 方法将数据从另一个模块推送到其中。像...

var myModule=require("./myJsonFile");
function(){
    some magic here...
    myModule.files.files.push(files);
}

然后我可以像这样在第三个节点模块中使用它...

//my third module
console.log(files.files)

最终就像动态数据库一样每次调用程序都会刷新

您可以,但是您所做的更改将不会保留。此外,如果您使用 cluster,每个进程都会有不同版本的对象。

myJsonFile.json

{
  "files": {
    "rootNeeded": [],
    "folders": [],
    "files": [],
    "images": [],
    "text": [],
    "unknown": []
  }
}

mod1.js

var json = require('./myJsonFile');

function pushData() {
  json.files.files.push('test 1');
  json.files.files.push('test 2');
}

pushData();

mod2.js

var json = require('./myJsonFile');
require('./mod1');

console.log(json);

// { files: 
//   { rootNeeded: [],
//     folders: [],
//     files: [ 'test 1', 'test 2' ],
//     images: [],
//     text: [],
//     unknown: [] } }