2016-02-04 134 views
1

我正在使用accounts-password模塊,並且如流星文檔中所寫,我想從方法內部調用Accounts.setUsername(userId,newUsername)。但是,我得到setUsername(..) is not a method錯誤。更改用戶名

enter image description here

我缺少什麼?

編輯:這裏是安裝的軟件包

enter image description here

EDIT 2列表:因此很明顯,該方法不會被調用和它的作品如預期,但是,它在瀏覽器控制檯拋出錯誤無論如何(同時WebStorm標記方法爲未知)

enter image description here

+0

因爲函數是Accounts.setUsername而不是'setUsername'? –

+0

你想從客戶端調用這個函數嗎?這是服務器端唯一的功能。 –

+0

@DavidWeldon對不起,如果我混淆你,我打電話'Accounts.setUsername' – pikausp

回答

3

這可能是因爲您的Meteor.methods處於共享(客戶端和服務器可執行文件)位置。如果是這種情況,您可以將此特定方法放在僅服務器位置(位於/ server文件夾中),也可以將Accounts.setUsername方法包裝在if(Meteor.isServer) { ... }

+0

這是一個非常好的觀點。方法可以在僅服務器位置? – pikausp

+0

是的,把它們放到你項目根目錄下的/ server目錄下。 –

+0

啊我以爲我在文檔中的某處讀取方法必須可用於客戶端和服務器 – pikausp