不在客户端时,Meteor 助手会产生错误

Meteor helpers generate error when not in client part

我 运行 进入 ReferenceError 只是为了发现我需要将模板助手放在 isClient 检查中。我不明白为什么它不能放在 common server/client 部分以及为什么 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>

很明显,服务器上不存在模板。 Blaze 目前仅限客户端。它不允许服务器端呈现 (yet?)。

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