在流星中,我可以读取这样的文件:
myjson = JSON.parse(Assets.getText("lib/myfile.json"))
现在我想遍历一个文件夹,并读取所有可用的 json 文件。在不安装额外 NPM 包的情况下,最好的方法是什么。感谢您的时间。
在流星中,我可以读取这样的文件:
myjson = JSON.parse(Assets.getText("lib/myfile.json"))
现在我想遍历一个文件夹,并读取所有可用的 json 文件。在不安装额外 NPM 包的情况下,最好的方法是什么。感谢您的时间。
我不确定这是否是最好的方法,但肯定是一种简单的方法:
var fs = Npm.require('fs');
fs.readdir('./assets/app/myFolder', function(e, r) {
_.each(r, function(filename) {
Assets.getText('myFolder/' + filename);
});
});
我使用 Meteor.bindEnvironment 将 Hubert OGs 代码包装到一个函数中。我认为这是必要的,因为在 Meteor 环境之外没有可用的光纤。见https://www.eventedmind.com/feed/49CkbYeyKoa7MyH5R
请注意,外部节点包的文档根目录与 Meteor 不同。
var done, files;
var fs = Npm.require('fs');
files = fs.readdirSync("../../../../../server/collections/lib/", function(e, r) {});
done = Meteor.bindEnvironment(function(files) {
return _.each(files, function(filename) {
var myjson;
myjson = JSON.parse(Assets.getText("lib/" + filename));
/* do Something */
});
}, function(e) {
throw e;
});
done(files);