在meteor中我可以读到这样的文件:
myjson = JSON.parse(Assets.getText("lib/myfile.json"))
现在我想遍历一个文件夹,并读取所有可用的json文件。如果不安装额外的NPM软件包,最好的方法是什么? 谢谢你的时间。
答案 0 :(得分:4)
我不确定这是不是最好的方式,但肯定是一个简单的方法:
var fs = Npm.require('fs');
fs.readdir('./assets/app/myFolder', function(e, r) {
_.each(r, function(filename) {
Assets.getText('myFolder/' + filename);
});
});
答案 1 :(得分:2)
我将Hubert OGs代码包装到Meteor.bindEnvironment的函数中。我认为这是必要的,因为在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);