目錄在流星我可以讀這樣的文件:迭代通過與Assets.getText
myjson = JSON.parse(Assets.getText("lib/myfile.json"))
現在我想通過文件夾進行迭代,並閱讀所有可用的JSON文件。如果不安裝額外的NPM軟件包,最好的方法是什麼? 謝謝你的時間。
目錄在流星我可以讀這樣的文件:迭代通過與Assets.getText
myjson = JSON.parse(Assets.getText("lib/myfile.json"))
現在我想通過文件夾進行迭代,並閱讀所有可用的JSON文件。如果不安裝額外的NPM軟件包,最好的方法是什麼? 謝謝你的時間。
我包休伯特OG了代碼與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);
我不知道這是否是最好的辦法,但肯定是一個簡單的一個:
var fs = Npm.require('fs');
fs.readdir('./assets/app/myFolder', function(e, r) {
_.each(r, function(filename) {
Assets.getText('myFolder/' + filename);
});
});
我該如何將它包裹到流星中。據我瞭解,我必須包裹來自非流星庫的Meteor.bindEnvironment。但我無法得到它的工作。錯誤消息: 錯誤:流星代碼必須始終在光纖內運行。嘗試使用Meteor.bindEnvironment封裝您傳遞給非Meteor庫的回調。 – Johannes
將您的代碼封裝到Meteor.bindEnvironment中。謝謝你的提示! – Johannes