我可以使用 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: [] } }
我有一个 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: [] } }