关于javascript:加载多个JSON文件

Load multiple JSON files

本问题已经有最佳答案,请猛点这里访问。

我正在使用node.js开发一个项目,其中一个文件夹中有多个JSON文件,比如files,我必须访问这些文件的内容。一种方法是使用

1
var a = require('jsonfile')

然后执行所需的查询。

但是假设我有大约20个文件,用require函数编写它们会很头疼,有没有更好的方法可以做到这一点呢?我知道MongoDB可以在这种情况下使用,但我想使用JSON文件。有没有更好的方法来解决这个问题?


你可以这样做:

1
2
3
4
5
var data = {},
    dir = __dirname + '/FILES/';
fs.readdirSync(dir).forEach(function (file) {
    data[file.replace(/\.json$/, '')] = require(dir + file);
});

例如,您可以使用data.config访问名为config.json的JSON文件。

您也可以使用这样的require-dir模块来执行相同的操作:

1
2
var requireDir = require('require-dir');
var data = requireDir(__dirname + '/FILES/');


你就不能用这样的东西吗?

如何获得node.js目录中所有文件的名称列表?

在数组中写入所有文件名,然后循环。

或者你可以写一个包含所有当前文件的索引文件,然后首先读取它。