2013-02-11 75 views

回答

1

請記住,meteor reset將不會在部署的應用程序中可用,認爲這不應該100%確定。

雖然不能直接掛接到它,而無需修改meteor.js復位功能是非常簡單的,你可以模仿它以不同的方式:

方法1

所有流星reset不將yourproject/.meteor/local中的所有文件刪除,您可以使用bash腳本來做到這一點,或者製作另一個節點js文件,它也會這樣做:

流星重置功能的來源(如果您決定在節點中):

var local_dir = path.join(app_dir, '.meteor', 'local'); 
files.rm_recursive(local_dir); 

方法2

此方法將在生產模式工作。眼看如流星復位剛剛清除你可能只是做手工數據庫(而流星runnining呢!):

服務器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來添加你想要的功能。然而,更新將會破壞鉤子。