如何在包中包含模板代码

时间:2014-05-07 18:24:07

标签: meteor

我想要一个包来公开模板。我设法让模板工作,但我无法为其添加代码。

以下是有效的:

package.js

Package.describe({
  summary: "Dashboard"
});

Package.on_use(function(api){
    api.use('coffeescript', ['client', 'server']);
    api.use('templating', 'client');

    api.add_files(['dashboard.html'], 'client');
});

dashboard.html

<template name="dashboard">
  <h1>Hello Dashboard</h1>
</template>

然后我就可以在我的应用上使用它了:

{{> dashboard}}

这里有什么不起作用

package.js

Package.describe({
  summary: "Dashboard"
});

Package.on_use(function(api){
    api.use('coffeescript', ['client', 'server']);
    api.use('templating', 'client');

    api.add_files(['dashboard.html', 'dashboard.coffee'], 'client');
});

dashboard.html

<template name="dashboard">
  <h1>Hello Dashboard</h1>
  {{name}}
</template>

dashboard.coffee

Template.dashboard.helpers
  name: -> "John Doe"

错误是:

  

未捕获的TypeError:无法读取属性&#39; helpers&#39;未定义的

2 个答案:

答案 0 :(得分:0)

尝试在使用列表api.use(['templating','handlebars'],'client')中添加把手;

答案 1 :(得分:0)

您可以查看使用coffeescript和模板的热门软件包的源代码,如您的情况 - 如accounts-entry

以下是package.js

https://github.com/Differential/accounts-entry/blob/master/package.js

所以,最重要的是:

  api.use([
    'templating',
    'handlebars',
    'coffeescript']
  , 'client');