流星包:没有这样的模板

时间:2015-02-04 04:20:44

标签: meteor packages

我正在我的Meteor应用程序中编写一个内部包,我似乎无法将包模板公开给应用程序的其余部分。

在我的package.js文件中,我有以下内容:

api.use(['templating', 'spacebars', 'ui'], 'client');
api.addFiles([
  'client/templates/notifications/notifications.html',
  'client/templates/notifications/notifications.js',
  'notify.js',
  'lib/collections/notifications.js'
], 'client');

并在notifications.html我有

<template name="notifications">
  ...
</template>

回到应用的其余部分,我有一个layout.html模板,它只使用{{> notifications}}之类的模板。但这会导致错误:

Exception from Tracker recompute function: Error: No such template: notifications at Blaze.View.lookup (http://localhost:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:2809:15) at null.<anonymous> (http://localhost:3000/packages/spacebars.js?7f53771c84a2eafac2b561c9796dda0d8af8e7f5:71:23) at http://localhost:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:1808:16 at Object.Blaze._withCurrentView (http://localhost:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:2043:12) at viewAutorun (http://localhost:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:1807:18) at Tracker.Computation._compute (http://localhost:3000/packages/tracker.js?517c8fe8ed6408951a30941e64a5383a7174bcfa:296:36) at new Tracker.Computation (http://localhost:3000/packages/tracker.js?517c8fe8ed6408951a30941e64a5383a7174bcfa:214:10) at Object.Tracker.autorun (http://localhost:3000/packages/tracker.js?517c8fe8ed6408951a30941e64a5383a7174bcfa:487:11) at Blaze.View.autorun (http://localhost:3000/packages/blaze.js?efa68f65e67544b5a05509804bf97e2c91ce75eb:1806:19) at null.<anonymous> (http://localhost:3000/packages/spacebars.js?7f53771c84a2eafac2b561c9796dda0d8af8e7f5:70:10)

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

很难说没有repo来重现,但是这里有一个想法:rubaxa:sortable是我写的一个包,它成功地公开了一个模板。试着看看你的不同之处。

顺便说一下,你只需要api.use('模板')。不需要'spacebars'和'ui'来暴露模板。您可能需要其他功能。

答案 1 :(得分:0)

由于我还没有评论,我在这里写了@saimeunt的答案:

  

您是否真的将该软件包添加到了应用程序中?我知道这有点儿   傻,但即使包在应用程序包/   目录你还需要流星添加它。

进入包目录并运行:

meteor add <YOUR_PACKAGE>

它解决了这个问题。

谢谢@saimeunt!