Iron Router无法在Meteor应用程序中运行

时间:2014-12-25 04:55:12

标签: meteor iron-router

在我的流星项目(ironTest)中,我有三个由项目创建的文件:ironTest.css,ironTest.html,ironTest.js。我删除了ironTest.js的所有内容,并将其替换为:

Router.map(function(){
  this.route('home', {path: '/'} );
     this.route('hello', {path: '/hello'});
});

在ironTest.html中,我有:

<head>
    <title>ironTest</title>
</head>

<body>
    <h1>Welcome to Meteor!</h1>
</body>

<template name="hello">
    <button>Click Me</button>
    <p>You've pressed the button times.</p>
</template>

<template name="home">
    This is the home template.
</template>

我也在项目中添加了铁路由器,因为我可以在包文件中看到:

# Meteor packages used by this project, one per line.
# Check this file (and the other files in this directory) into your repository.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.

meteor-platform
autopublish
insecure
iron-router

运行meteor命令后打开localhost:3000时,我看到一个空白页面。当我使用Router.map函数将其设置为根时,为什么不呈现主模板?

1 个答案:

答案 0 :(得分:2)

假设您正在运行最新版本的meteor(> 1.0),主要问题是您没有正确添加铁路由器包。修改您的.meteor/packages,将iron-router替换为iron:router

由于IR目前主要具有向后兼容的API,因此您的代码现在应该可以运行。要使用1.x API,请将路由规范更改为:

Router.route('/', function () {
  this.render('home');
}, {
  name: 'home'
});

Router.route('/hello', function () {
  this.render('hello');
});

有关详细信息,请参阅docs