【问题标题】:Meteor helpers generate error when not in client part流星助手不在客户端部分时会产生错误
【发布时间】:2016-05-09 08:07:43
【问题描述】:

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

排行榜.js

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

排行榜.html

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

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

【问题讨论】:

  • 原来的错误是 ReferenceError: Template is not defined。

标签: meteor meteor-blaze meteor-helper


【解决方案1】:

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

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

【讨论】:

  • 谢谢!我只希望 Meteor 错误代码对初学者来说更容易理解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
相关资源
最近更新 更多