Javascript 在带有Iron Router的Meteor包中包含HTML模板

Javascript 在带有Iron Router的Meteor包中包含HTML模板,javascript,meteor,Javascript,Meteor,我试图在我自己的演示Meteor应用程序中模拟望远镜应用程序结构。他们设置东西的方式意味着所有代码都位于子包中,包括HTML模板等 我有我的Meteor应用程序设置,因此我有以下功能: 客户 layout.html(包含标题标记,用作页面的“基础”) 服务器 index.js(包含Iron路由器的配置,例如默认的layoutTemplate) 包裹 myapp用户界面 客户 dashboard.html myapp-ui.js package.js 在我的包中的packa

我试图在我自己的演示Meteor应用程序中模拟望远镜应用程序结构。他们设置东西的方式意味着所有代码都位于子包中,包括HTML模板等

我有我的Meteor应用程序设置,因此我有以下功能:

  • 客户
    • layout.html(包含标题标记,用作页面的“基础”)
  • 服务器

    • index.js(包含Iron路由器的配置,例如默认的
      layoutTemplate
  • 包裹

    • myapp用户界面
      • 客户
        • dashboard.html
      • myapp-ui.js
      • package.js
在我的包中的
package.js
文件中,我在尝试加载HTML模板时有以下代码:

Package.describe({
    name: 'myapp-ui',
    version: '0.0.1',
    documentation: null
});

Package.onUse(function (api) {
    api.versionsFrom('1.1.0.2');

    api.use([
        'iron:router'
    ]);

    api.addFiles([
        'client/dashboard.html'
    ]);

    api.addFiles('myapp-ui.js');
});
myapp ui.js
文件包含尝试将
dashboard.html
代码导入我的应用程序的代码:

Router.route('/', function() {
    this.render('Dashboard');
});
dashboard.html
模板只是:

<template name="dashboard">
    <p>Hello, world!</p>
</template>

我有点困惑,因为我显然有一个加载了名为“dashboard”的模板标记的模板HTML文件,而这个文件是用
api.addFiles
加载到我的包中的。我是否需要使用其他软件包来启用在软件包中加载HTML,或者我的代码不正确?

在模板名称中使用大写或小写语法,此时您既有
又有
this.render('Dashboard')

您是否确实使用meteor add myapp ui将软件包添加到应用程序中

尝试依赖客户端上的
模板化
包,并仅在客户端上加载
客户端/dashboard.htm

api.use("templating", "client");
[...]
api.addFiles("client/dashboard.html", "client");

不管模板名称是大写还是小写,我仍然会遇到同样的问题。该包肯定是添加的,因为将路由添加到路由器的代码正在运行。
api.use("templating", "client");
[...]
api.addFiles("client/dashboard.html", "client");