2013-02-11 77 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来添加你想要的功能。然而,更新将会破坏钩子。