我有一個設置會話變量的方法:會議未能於Meteor.methods在服務器端定義但在客戶端
Meteor.methods({
updateSomething: (k) => {
CollectionOfSomething.insert({
k: k
});
Session.set('latestSomething', CollectionOfSomething.findOne({
k: k
});
}
});
接下來發生的事情是我的東西是矛盾的。由於方法在lib
文件夾中定義(這是一種正確的方法),因此調用方法都會在客戶端和服務器上調用。在客戶端上,它會爲會話變量latestSomething
生成新值,並且每次都刷新一次。但在服務器上,我收到一個異常:
Exception while invoking method 'updateSomething' ReferenceError: Session is not defined
這個異常只是一個警告,並沒有殺死應用程序實例。但這似乎不是一個好習慣,所有這些消息填滿了服務器日誌沒有任何價值。
那我該怎麼辦?什麼是流星慣用的方法?
「會議是失去了一個短暫的對象時重新加載頁面或路由變化」的全部目的'Session'的**完全不是**。 –
@你好,你可以鏈接到該聲明的來源?像https://github.com/okgrow/meteor-persistent-session/這樣的包存在的原因是因爲Session變量只持續當前頁面的生命週期,因此名稱爲「Session」。 –
'Session'是一個命名的全局'ReactiveDict',它被構建用來保持熱重載和路由變化。你的陳述充其量是非常不準確的。 –