[英]Accounts.onLogin throws session not found error
LoggedInUser
可以很好地LoggedInUser
作用,但是只要應用程序啟動並且查詢URL就像嘗試登錄或導航到其他任何URL, Accounts.onLogin
引發以下錯誤。 我不知道是什么原因。
var LoggedInUser = FlowRouter.group({
name: 'currentUser', triggersEnter: [function () {
if (!Meteor.loggingIn() || !Meteor.userId()) {
var currentRoute = FlowRouter.current();
if (!currentRoute.route.name === 'home') {
console.log(currentRoute.path);
Session.set('redirectAfterLogin', currentRoute.path);
}
FlowRouter.go('home');
}
}]
});
Accounts.onLogin(function () {
let redirect = Session.get('redirectAfterLogin');
if (redirect) {
if (redirect != 'home') {
FlowRouter.go(redirect);
}
}
});
cmd控制台錯誤
I20171003-18:28:44.913(1)? Exception in onLogin callback: ReferenceError: Session is not defined
I20171003-18:28:44.919(1)? at lib/routes/routes.js:30:18
I20171003-18:28:44.921(1)? at runAndHandleExceptions (packages\callback-hook.js:152:24)
I20171003-18:28:44.926(1)? at packages\callback-hook.js:159:12
I20171003-18:28:44.931(1)? at packages/accounts-base/accounts_server.js:164:5
I20171003-18:28:44.934(1)? at [object Object]._.extend.each (packages\callback-hook.js:128:15)
I20171003-18:28:44.938(1)? at AccountsServer.Ap._successfulLogin (packages/accounts-base/accounts_server.js:163:21)
I20171003-18:28:44.943(1)? at AccountsServer.Ap._attemptLogin (packages/accounts-base/accounts_server.js:353:10)
I20171003-18:28:44.946(1)? at [object Object].methods.login (packages/accounts-base/accounts_server.js:530:21)
I20171003-18:28:44.949(1)? at packages\check.js:128:16
I20171003-18:28:44.953(1)? at [object Object].EVp.withValue (packages\meteor.js:1135:15)
您正在使用的onLogin函數根據以下行需要Session軟件包:
let redirect = Session.get('redirectAfterLogin');
找不到控制台狀態錯誤,而不是Session軟件包。 請確保以下幾點:
流星會話已安裝。 如果沒有,請使用以下命令進行安裝:
meteor add Session
在終端的項目文件夾中。
會話已導入到您要使用的文件中,如果沒有,請在文件頂部添加:
import { Session } from 'meteor/session'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.