当流星应用程序运行时,在服务器端执行任意代码有哪些方法?

Dav*_*ave 4 javascript node.js meteor

有时我发现自己想要在应用程序运行时在服务器上执行某些特权代码.例如,我可能想要快速删除集合中的文档(当客户端被阻止这样做时).或者,我可能想快速尝试像Email.send和的服务器端功能Accounts.createUser.

那么实现这一目标的方法是什么?我关注如何运行流星应用程序:

  1. 使用该meteor命令运行
  2. 作为捆绑节点应用程序运行

最后,我还想设置可以在Meteor上下文中执行某些代码的cron作业.这可以通过解决方法直接实现或实现吗?

谢谢您的帮助!

Rah*_*hul 7

难道你不能只编写只适合你的用户的服务器端方法吗?然后公开Meteor.methods它们并在客户端控制台中运行它们.这就是我想要测试的时候.Email.send.您还可以更进一步,编写一个基本的管理UI.

例如,在服务器上:

  Meteor.methods({
    test_sendEmail: function(options) {
      if (this.userId != adminUserId) return; // don't execute unless admin
      Email.send(options);
    }
  });
Run Code Online (Sandbox Code Playgroud)

在客户端:

  Meteor.call("test_sendEmail", {to: "foo@bar.com", subject: "Foo", text: "Bar"});
Run Code Online (Sandbox Code Playgroud)