铁路由器:错误:找不到名为“/”或“”的模板。你确定你定义了吗?

时间:2014-10-19 12:04:44

标签: meteor iron-router meteor-0.9.4

我无法设置简单的铁:路由器示例:(docssample app

meteor create testapp
cd testapp

home.html的

<template name="Home">
  <h1>Welcome</h1>
  home
</template>

router.js

Router.route('/', function () {
  this.render('Home'); // Also tried 'home'
});

启动服务器:

meteor

然后我得到(客户端):

Exception from Tracker recompute function: Error: Couldn't find a template named "/" or "". Are you sure you defined it?
    at null._render (http://localhost:3000/packages/iron_dynamic-template.js?32038885cb1dad7957291ffebfffcb7f8cd57d20:239:17)
    at doRender (http://localhost:3000/packages/blaze.js?88aac5d3c26b7576ac55bb3afc5324f465757709:1853:25)
    ...

我做错了什么?

注意:如果我克隆the example application(basic.html和basic.js),我会得到完全相同的错误。

meteor list
autopublish      1.0.1  Publish the entire database to all clients
insecure         1.0.1  Allow all database writes by default
iron:router      0.9.4  Routing specifically designed for Meteor
meteor-platform  1.1.2  Include a standard set of Meteor packages in your app

此外:

meteor --version
Meteor 0.9.4 <- Why all standard packages and meteor platform are > 1.0 and this is 0.9.4 ?

1 个答案:

答案 0 :(得分:2)

目前,iron:router有两种版本。

  • iron:router@0.9.4是您在键入meteor add iron:router时默认添加的版本,此版本是iron:router的“遗留”分支中的最新版本,它出现在一年多以前,它是每个人都可能仍在使用的那个,尽管他们肯定会更新到......
  • 截至2014年10月20日的
  • iron:router@1.0.0-preXX = 4,这是对向后兼容的软件包的完全重写,但引入了一个新的,更好,更精美的API。当流星在今年晚些时候达到1.0.0时,这个版本可能会被设置为默认值。问题是iron:router的github页面显示了这个特定的分支(1.0.0-pre4)以及人们认为可以与0.9.4一起使用的示例。

这意味着您最有可能使用错误版本的铁路由器,而是使用meteor remove iron:routermeteor add iron:router@1.0.0-pre4将其删除。

推荐阅读以了解最新的iron:router语法:

http://eventedmind.github.io/iron-router/

有时候指南并不是完全与预发行版本保持同步,如果你想了解最新的东西,请看看github问题。