我刚刚开始学习Meteor.js,并且正在学习To-Do App教程,您可以在下面查看。
https://www.meteor.com/tutorials/blaze/forms-and-events(这也是发生错误的步骤)
所以我按照上述步骤的说明进行操作,我相信我可能在Javascript代码上有一个类型来监听提交事件。
我添加了提交代码(带有类型)并在本地转到我的网络应用程序并在输入中添加了一些文本并按下了输入..然后我收到了此错误。
/Users/kassdhs/.meteor/packages/meteor-tool/.1.1.10.1b51q9m++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);
^
ReferenceError: Template is not defined
at simple-todos.js:11:1
at /Users/kassdhs/simple-todos/.meteor/local/build/programs/server/app/simple-todos.js:32:4
at /Users/kassdhs/simple-todos/.meteor/local/build/programs/server/boot.js:242:10
at Array.forEach (native)
at Function._.each._.forEach (/Users/kassdhs/.meteor/packages/meteor-tool/.1.1.10.1b51q9m++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/kassdhs/simple-todos/.meteor/local/build/programs/server/boot.js:137:5
Exited with code: 8
Your application is crashing. Waiting for file change.
终端错误
=> Exited with code: 8
=> Your application is crashing. Waiting for file change.
这发生在我尝试做教程之前,所以我不得不重新安装Meteor并重新运行本地服务器以开始处理它。我每次制作一个类型并且发生错误时是否必须这样做?
我希望不是因为我真的很喜欢Meteor,觉得我能够快速而强大地学习它。
如果有人可以帮助我解决这个问题,这将是惊人的(同样我可以继续教程!)
谢谢
答案 0 :(得分:1)
在教程的上一步中,您的代码simple-todos.js
看起来像这样(添加了额外的评论):
Tasks = new Mongo.Collection("tasks");
if (Meteor.isClient) {
// This code only runs on the client
Template.body.helpers({
tasks: function () {
return Tasks.find({});
}
});
// Add Template.body.event handlers here
} // Closing brace for the Meteor.isClient block
确保添加提交处理程序时,它位于Meteor.isClient
块内,以便仅在服务器上执行。
模板未在服务器上定义,导致ReferenceError。
当您收到服务器端错误时,服务器将在您修复代码时恢复。但是,在热门代码再次启动之前,您可能必须手动刷新Web浏览器。