0

私はこの流星チャットのチュートリアルに従っています。途中で、先生はコードの一部を完成させ、ブラウザのコンソールでそれをチェックアウトし、「エラーなし」と言いますが、同じポイントでエラーが発生します。なぜこのエラーが発生するのかについての助けは素晴らしいでしょう。

file.js

Message = new Meteor.Collection('messages');

if (Meteor.is_client){
  Template.messages.messages = function () {
    return Messages.find({}, { sort: {time: -1} });
  };
}

file.html

<head>
  <title>tutorial</title>
</head>

<body>
 {{> entry}}

 {{> messages}}
</body>

<template name="entry">
    <p>
    <input type="text" id="name" placeholder="your name">
    <input type="text" id="messageBox" placeholder="your message"></p>
</template>

<template name="messages">
    {{#each messages}}
        {{> message}} <!--echo of message template-->
    {{/each}}
</template>

<template name="message">
    <p><strong>{{name}}:</strong>{{message}}</p>
</template>

エラー

Uncaught ReferenceError: Messages is not defined

アップデート

次のメッセージを実行すると=return...以下の出力が得られます

Your app is crashing. Here's the latest log.


app/tutorial.js:5
     message = return Messages.find({}, { sort: {time: -1} });
               ^^^^^^
SyntaxError: Unexpected token return
    at /Users/anderskitson/Sites/tutorial/.meteor/local/build/server/server.js:113:21
    at Array.forEach (native)
    at Function._.each._.forEach (/usr/local/meteor/lib/node_modules/underscore/underscore.js:79:11)
    at run (/Users/anderskitson/Sites/tutorial/.meteor/local/build/server/server.js:99:7)
Exited with code: 1
Your application is crashing. Waiting for file change.
4

2 に答える 2

2

この行:

Message = new Meteor.Collection('messages');

と呼ばれる変数を宣言しますMessage。したがって、後で変数を使用できますMessage

この行:

return Messages.find({}, { sort: {time: -1} });

定義されていない変数Messagesを使用します!のみMessage定義されています。だから、書く

return Message.find({}, { sort: {time: -1} });

代わりは。

于 2013-02-16T07:06:42.430 に答える
0

前にMeteor.isClientを確認する必要があります

if (Meteor.isClient) {  
  alert(); 
}
于 2013-03-15T12:27:56.517 に答える