Uncaught ReferenceError: Сообщения не определены
Я следую этому уроку по метеорному чату, и я на полпути, учитель заканчивает кусок кода и проверяет его в консоли в браузере и говорит: "Нет ошибок", но я получаю сообщение об ошибке. Любая помощь относительно того, почему я получаю эту ошибку, была бы большой.
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
ОБНОВИТЬ
Выполнение следующего сообщения = возврат... дает мне вывод ниже
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.
2 ответа
Решение
Эта строка:
Message = new Meteor.Collection('messages');
объявляет переменную с именем Message
, Итак, позже вы можете использовать переменную Message
,
Эта строка:
return Messages.find({}, { sort: {time: -1} });
использует переменную Message
с, который не определен! Только Message
определено. Итак, напишите
return Message.find({}, { sort: {time: -1} });
вместо.
Вы должны проверить Meteor.isClient, прежде чем
if (Meteor.isClient) {
alert();
}