在Meteor中,我在哪里可以找到与函数中的拼写错误相关的错误?

时间:2016-12-23 21:02:17

标签: javascript meteor

这里的流星新手。

我正在浏览Meteor教程(React版本)中的简单待办事项列表,我在下一节中写了一个拼写错误:

Tasks.insert({
  text,
  createdAt: new Date(), // current time
  owner: Meteor.userID(),
  username: Meteor.user().username,
});

在这种情况下,我的大写错误,Meteor功能应该是Meteor.userId()。但是,即使调用的函数应该是未定义的,终端窗口中也不会抛出任何错误。我花了很长时间才发现这一点,我担心对于较大的应用程序,如果没有报告错误,很难找到这样的错误。

更有经验的用户可以与我分享为什么Meteor的设计不会将拼写错误报告为错误,并且可能会提供一些有关未来发现此类错误的提示吗?

2 个答案:

答案 0 :(得分:1)

基本上有两个地方可以看到Meteor中的运行时错误。

  1. 如果代码存在于客户端,那么您将在javascript控制台中看到错误,这是浏览器开发工具的一部分。
  2. 如果您的代码位于服务器端,那么您将在运行meteor的终端窗口中找到错误消息。
  3. 如果您的代码可以从任何一方调用,那么您将在发生错误的一侧找到错误。

答案 1 :(得分:0)

这比Meteor更像是一个javascript问题。 JS本质上是一种运行时动态语言,在编译时无法知道在执行时不会定义Meteor.UserID。因此,在代码段实际运行之前,您不会收到错误。

解决此问题的一种方法是采用测试驱动的开发技术,在编写代码时编写测试,以确保在受控运行时环境(测试环境)中测试每段代码。如果您对该函数进行了单元测试,则会立即标记错误。

Meteor的测试能力仍然有点笨重,但最新版本要好得多。您可以在此处阅读有关其推荐做法的信息:https://guide.meteor.com/testing.html