我不明白,我创建了这个方法
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'默认方法的来源?
谢谢; - )
答案 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) { ...