3

meteor.js fw に fs パッケージを使用する必要があります。

meteor バージョン 0.6 から、次のように Npm.require を使用する必要があります。

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

しかし、私がそれを行うと、エラーが表示されます: npm is not defined

それを解決する方法は?mrt add npm を試してみましたが、うーん...

ところで:私は /root/packages/npm を持っています

編集 私のコードはクライアント/サーバー側の両方のフォルダーにあったため、サーバーのブロックに移動しました

var fs;
if(Meteor.isServer) {
  fs = Meteor.require('fs');
}

fs.writeFile(path + name,...

GETTING ERROR: Cannot call a method writeFile of undefined

解決済み さて、コンテンツ全体をMeteor.isServer にラップすることでエラーを解決しました {...しかし、誰かが好奇心から説明できれば、なぜ上記のように機能しないのですか?

4

4 に答える 4

2

を使用する前にpackage.js、依存関係を明示的に指定するアプリまたはスマート パッケージにを追加する必要があります。などの組み込みパッケージを使用している場合は、またはスマート パッケージは必要ありませんが、クライアント側ではなくサーバー側で使用していることを確認する必要があります。Npm.dependsNpm.requireNpm.dependsnpmfs

例として、package.jsShareJS を取り込む Meteor パッケージのファイルを確認してください: https://github.com/mizzao/meteor-sharejs/blob/master/sharejs-ace/package.js

この投稿も参照してください: http://shiggyenterprises.wordpress.com/2013/05/16/accessing-the-file-system-in-meteor/

于 2013-07-11T18:48:59.903 に答える
-1

「fs」はノードの一部であるため、次のように簡単に実行できます。 var fs = Meteor.require('fs');

于 2013-07-11T20:57:35.587 に答える