にフックすることは可能meteor reset
ですか? このコマンドの実行時に、すべてのユーザー アップロードを削除したいと考えています。
1 に答える
1
meteor reset
デプロイされたアプリケーションでは を使用できないことに注意してください。これについて 100% 確信があるとは限りません。
meteor.js を変更せずに直接フックすることはできませんが、リセット機能は非常に単純であり、別の方法で模倣できます。
方法 1
meteor のリセットでは、bash スクリプトを使用してすべてのファイルを削除するyourproject/.meteor/local
か、同じことを行う別のノード js ファイルを作成するだけです。
流星リセット機能のソース (ノードで作成する場合):
var local_dir = path.join(app_dir, '.meteor', 'local');
files.rm_recursive(local_dir);
方法 2
この方法は、プロダクション モードで機能します。meteor のリセットはデータベースをクリアするだけなので、手動で行うこともできます (meteor の実行中も!):
サーバーjs
Meteor.methods({
resetme: function(password) {
var require = meteor_bootstrap.require;
var path = require('path');
if(password=="1234") {
Collection1.remove({});
Collection2.remove({});
Collection3.remove({});
var local_dir = path.join(app_dir, 'yourfiledirectory');
//recursively delete your files in local_dir
return true;
}
else
{
return false;
}
}
});
クライアント(必要に応じて)
Meteor.call("resetme", "1234", function(err,result) { if(err) { console.log("Error resetting"); } else { if(result) {console.log("Reset complete")}});
方法 3 (より多くのフック)
アプリケーションをバンドルし、meteor.js を編集して必要な機能を追加できます。ただし、更新するとフックが破棄されます。
于 2013-02-11T11:18:46.487 に答える