如何用 nodejs 加载 2 json

How to load 2 json with nodejs

我想加载 2 个 json 个文件:

number.json : {"argent":300,"nbJoueur":11,"nbClub":1,"nbVictoire":0,"nbDefaite":0}
img.json : {"bonus1":false,"bonus2":false,"bonus3":false,"bonus4":false,"bonus5":false,"bonus6":false}

我成功读取了第一个文件,但我不知道如何同时读取第二个文件。

我有这个代码:

Javascript :

function load(){
var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function(){

    if (this.readyState === 4 && this.status === 200){
        var recup = JSON.parse(this.responseText);
        number["argent"] = recup["argent"];
        number["nbJoueur"] = recup["nbJoueur"];
        number["nbClub"] = recup["nbClub"];
        number["nbVictoire"] = recup["nbVictoire"];
        number["nbDefaite"] = recup["nbDefaite"];           
    } 
};

xhr.open("GET","http://localhost:8080/load",true);
xhr.send();

}

节点:

function load(response){
console.log("Load called");
fs.readFile("number.json", function(err,data){
    if(err) {
        throw err;
        response.setHeader("Access-Control-Allow-Origin","*");
        response.writeHead(418);
        response.end();
    }
    else{
        response.setHeader("Access-Control-Allow-Origin","*");
        response.writeHead(200);
        response.write(data);
        response.end();
    }
});

}

基于此 answer,您可以通过这种方式轻松获取 json 文件:

var json = require('path1.json'); 
var json2 = require('path2.json')

然后您可以在响应回调中使用变量

您编写了一个只能处理一个文件的硬编码处理程序。

相反,您可以:

  • 编写一个通用处理程序,根据访问的 url 为任一文件提供服务。
  • 复制加载函数并为第二个文件创建新路径
  • 或者,如果您的 JSON 文件不会经常更改,您可以将它们放在一个文件夹中并以静态方式提供给它

编辑:我注意到您没有使用任何框架,所以我删除了对应于 Express framework.

的代码示例