【问题标题】:TypeError: Object #<Object> has no method 'loggingIn'TypeError: Object #<Object> 没有方法 'loggingIn'
【发布时间】:2015-04-20 15:31:30
【问题描述】:

我正在尝试使用路由器文件中的以下代码为我的 Meteor 应用程序配置登录。

if (Meteor.loggingIn()) {
 return 'loading';
} else if (Meteor.user()) {
 return 'ecoData';
} else {
 return 'signin';
}

在我尝试更改加载页面以包含图像并更改登录页面的位置之前,它工作正常。即使将其更改回原来的点,我现在也会收到以下错误。

/Users/me/.meteor/packages/meteor-tool/.1.1.3.1zmhve++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
                    throw(ex);
                          ^
TypeError: Object #<Object> has no method 'loggingIn'
at app/router.js:23:12
at app/router.js:58:3
at /Users/me/Documents/app/.meteor/local/build/programs/server/boot.js:222:10
at Array.forEach (native)
at Function._.each._.forEach (/Users/jasonsigmon/.meteor/packages/meteor-tool/.1.1.3.1zmhve++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
at /Users/me/Documents/ecoportu/.meteor/local/build/programs/server/boot.js:117:5
Exited with code: 8 Your application is crashing. Waiting for file change.

感谢任何帮助。

【问题讨论】:

  • 编程还是新手;所以,我不知道该怎么做。

标签: javascript meteor meteor-accounts


【解决方案1】:

您的代码不应在服务器上运行:

Meteor.loggingIn 无法在服务器上使用。它仅在客户端上可用。

只需重新构建它,使其在if(Meteor.isClient) { 中运行即可解决问题。

【讨论】:

  • 我把所有的代码都包装在了 is(Meteor.is Client) { code } 中。现在它在 (Meteor.isClient) 之后显示了意外的令牌 {
  • @jaysig 抱歉有错字,我的意思是if 不是is。您基本上只在客户端上运行代码。
  • 没问题。该应用程序现在启动,但它只需要我一个 Ironrouter 登录页面,并且不允许我访问任何页面。再次感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多