Javascript meteor中的模板引用错误,即使模板已定义

Javascript meteor中的模板引用错误,即使模板已定义,javascript,meteor,spacebars,Javascript,Meteor,Spacebars,我得到这个错误,即使我已经在我的html中定义了模板,我丢失了一些东西。 index.html <template name="navbar"> <nav class="navbar navbar-default navbar-fixed-top"> <div class="container"> <a class="navbar-brand" href="#">TextCircle</a> &

我得到这个错误,即使我已经在我的html中定义了模板,我丢失了一些东西。

index.html

<template name="navbar">
  <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
       <a class="navbar-brand" href="#">TextCircle</a>
       <ul class="nav navbar-nav">
         <li>
            <a href="#" class="js-add-doc">
             <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
              new Document
            </a>
         </li>

       </ul>
       <p class="navbar-text navbar-right">{{> loginButtons}}</p>
     </div>
   </nav>
</template>

我缺少什么?

您的
main.js
文件正在服务器端(或服务器端和客户端)加载,但是
模板
仅在客户端可用。有关更多信息,请阅读。

另外,由于Meteor 1.3,建议您按照以下内容构建应用程序。

试试,或者将您的文件放入Meteor结构中的客户端文件夹

if(Meteor.isClient){
  Template.navbar.events({
     "click .js-add-doc":function(event){
        event.preventDefault();
         console.log("add new doc");
      }
   });
}

你的
main.js
文件在哪里?它似乎是在服务器端(或服务器端和客户端)加载的。我的main.js在根文件夹中,这可能是问题所在吗?解决了问题,您可以将它粘贴为答案,以便我可以标记为答案,以防其他人遇到相同的问题。错误
TextCircle2.js
是您的问题。这听起来像是一个模板定义,但它正在服务器上加载(它位于
server/app
文件夹中)。确保按照api()遵循正确的文件夹结构@EmmanuelAmodu我发布了答案。非常感谢。
if(Meteor.isClient){
  Template.navbar.events({
     "click .js-add-doc":function(event){
        event.preventDefault();
         console.log("add new doc");
      }
   });
}