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