【问题标题】:Defining Meteor collections when using coffeescript; ReferenceError saying that collection not defined使用 coffeescript 时定义 Meteor 集合; ReferenceError 说该集合未定义
【发布时间】:2013-07-10 07:20:45
【问题描述】:

我正在使用咖啡脚本。我在网上读到,当使用带有 Meteor 的咖啡脚本时,全局变量,例如集合, 应该使用@定义。我已经这样做了,但我仍然收到以下错误。相关文件中的代码出现在错误之后。我该如何解决这个错误?

谢谢。

错误 --------

ReferenceError: GameStatus is not defined
    at app/server/methods/adminMethods.coffee.js:10:5

---------------------------------- 收藏/gamestatus.coffee ----------------------------------

@GameStatus = new Meteor.Collection('gamestatus')

---------------------------------- 服务器/adminMethods.coffee ----------------------------------

Meteor.methods
    initializeGameStatus: () ->
        GameStatus.insert({gameOnOff: 0, asymmetric: 0})


if GameStatus.find({}).count() is 0
    Meteor.call 'initializeGameStatus', (err, result) ->
        if err
            console.log(err)
        else
            'GameStatus collection initialized'

【问题讨论】:

  • 你为什么要定义新的 Meteor.Collection ?这是新的 Mongo.Collection

标签: javascript coffeescript meteor


【解决方案1】:

除了全局范围之外,它还可以是文件加载顺序。为确保您的收藏已加载,首先将您的 collections 目录移动到 /lib 目录

【讨论】:

  • 您好,我已将收藏文件夹移动到 lib 文件夹中,但仍然收到未定义的错误消息。在这种情况下还有什么需要考虑的吗?
  • @batjko 你也改变了范围吗? @ 如果您使用的是咖啡脚本,则删除 var 如果您使用的是 javascript。
  • 我刚刚注意到我确实忘记了@,是的。我不清楚为什么这是必要的。为什么 coffeescript 需要一个全局变量才能绑定到任何东西?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-15
  • 1970-01-01
  • 2017-05-01
  • 1970-01-01
  • 2014-12-01
相关资源
最近更新 更多