不在客户端部分时,Meteor助手会生成错误

时间:2016-01-31 23:43:51

标签: meteor meteor-blaze meteor-helper

我遇到了ReferenceError只是为了发现我需要在isClient检查中放置模板助手。我不明白为什么它不能放在通用的服务器/客户端部分以及为什么Isobuild会产生这样的错误。作为初学者,我想了解为什么" if (Meteor.isClient)"这绝对有必要吗?

leaderboard.js

if (Meteor.isClient){
Template.leaders.helpers({
    players: function () {
        return "Result";
    }
    });
}

leaderboard.html

<head>
    <title>Leaderboard</title>
</head>
<body>
    <h1>Leaderboard</h1>
    {{> leaders}}
</body>

<template name="leaders">
    {{players}}
</template>

1 个答案:

答案 0 :(得分:0)

存在显而易见的危险,服务器上不存在模板。 Blaze目前仅限客户使用。它不允许服务器端呈现(yet?)。

但请注意,在任何较大的项目中,您都会将客户端代码放在client/子文件夹中,而且您不需要再使用if (Meteor.isClient)来保护该代码。< / p>