TheMeteorChef createUser方法已经存在?

时间:2017-08-19 09:24:36

标签: javascript meteor meteor-accounts meteor-methods meteor-useraccounts

我不明白,我创建了这个方法

import { Accounts } from 'meteor/accounts-base';
import SimpleSchema from 'simpl-schema';
import { ValidatedMethod } from 'meteor/mdg:validated-method';

export const createUser = new ValidatedMethod({
  name: 'createUser',
  validate: new SimpleSchema({
    email: { type: String, optional: true },
  }).validator(),
  run({email}) {
    if (this.isSimulation) return true;
    ;

    const userId = Accounts.createUser({ email, password:'coucou' });

    return 'ok'
  },
});

当我打电话给他时:

import { createUser } from '../../../api/auth/methods.js'

createUser.call({ email: this.email.value }, function(err, data) {
    if(err){
      console.log('err: ', err);
    }else{
        console.log('data: ', data);
    }

我在服务器端遇到此错误:

Error: A method named 'createUser' is already defined

所以,如果我改变了方法的名称就行了。

但是,我想了解

1)为什么'createUser'已定义?

2)来自'createUser'默认方法的来源?

谢谢; - )

1 个答案:

答案 0 :(得分:1)

我发现了这个问题,

当你这样做时,

'createUser'来自'accounts-password package':meteor add accounts-password

您可以查看您的申请

/MyAPPLICATION/.meteor/local/build/programs/server/packages/accounts-password.js

我们可以找到:

Meteor.methods({                                                                                                      
createUser: function (options) {  ...