5

meteor では、次のようなファイルを読み取ることができます。

myjson = JSON.parse(Assets.getText("lib/myfile.json"))

ここで、フォルダーを反復処理し、使用可能なすべての json ファイルを読み取ります。追加の NPM パッケージをインストールせずにこれを行う最善の方法は何でしょうか。お時間をいただきありがとうございます。

4

2 に答える 2

4

これが最善の方法かどうかはわかりませんが、確かに簡単な方法です。

var fs = Npm.require('fs');

fs.readdir('./assets/app/myFolder', function(e, r) {
    _.each(r, function(filename) {
        Assets.getText('myFolder/' + filename);
    });
});
于 2013-10-15T03:27:26.470 に答える
2

Hubert 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);
于 2013-11-08T22:26:56.283 に答える