无法使用Meteor

时间:2016-02-16 07:02:15

标签: meteor meteor-accounts accounts

在尝试使用meteor中的一些基本帐户方法时,

  • Accounts.addEmail
  • Accounts.setUsername

我总是收到以下错误:

Uncaught TypeError: Accounts.[function] is not a function

这是令人困惑的,因为其他帐户方法(如Accounts.createUser)按预期工作。其他一些threads提到这可能与流星过时有关。事实并非如此,因为我正在运行最新版本(1.2.1)。

此外,如果我启动meteor shell命令并搜索Accounts.addEmail或Accounts.setUsername,则shell声明它们确实是函数。

我使用的相关套餐是:

  • 帐户密码
  • accounts-ui

1 个答案:

答案 0 :(得分:1)

就像Blaze在评论中所说,你提到的两种方法都只是服务器端,正如你在meteor doc中看到的那样。由于Meteor不附带内置角色包,它允许您确保这些方法由合适的人根据您的喜好调用。您必须使用Meteor.call('foo')来调用这些方法,同时确保安全性或权限。

例如:

Meteor.methods({
    addNewEmail: function(email) {
        'use strict';

        Accounts.addEmail(this.userId, email);
        Accounts.sendVerificationEmail(this.userId, email);
        return true;
    }
});

这段代码确保调用该方法的人会向自己添加电子邮件而不是其他人。您还可以使用alanning:roles

进行一些额外的检查