流星js写的静态HTML?嵌入<iframe>
Static HTML written by meteor js? To embed in an <iframe>
免责声明-我是制作网络应用程序的新手,周末我刚刚学习了一些流星js教程,非常酷。
我有一个我想做的项目,它涉及到将表格数据嵌入网站。我想用iFrame来完成此操作。
我可以看到如何使用流星来实现这一点,路由到一个模板来渲染出我想要的html,但我关心性能。让整个应用程序加载到只显示几行html似乎太过分了,它当然不需要所有的javascript。
html可以是一个静态文件,只有当web应用程序用户保存更改时才会更改,而不必每次有人看到嵌入时都动态加载。
所以我真正想问的是,如何使用流星js来编写一个静态html文件?
您需要的是服务器端渲染(SSR),因为您打算直接从流星服务器提供html。
Meteor还不支持SSR。
虽然我自己还没有尝试过让SSR在流星中工作,但Arunoda已经实现了一些相当严重的限制。基本上你不可能有太多的反应。这可能是由于服务器上使用了光纤。但你说你的iframe不需要反应性,所以这不应该阻止你。
您可以将Arunoda的解决方案与Iron Router的服务器路由相结合。
启用SSR包:
meteor add meteorhacks:ssr
将您的模板放入专用目录:
<!-- private/embed.html -->
<template name="embed">
<ul>
{{#each posts}}
<li>{{title}}</li>
{{/each}}
</ul>
</template>
在服务器上,使用进行编译
SSR.compileTemplate('embed', Assets.getText('embed.html'));
并声明您的模板管理器:
// server/embed.js
Template.posts.getPosts = function(category) {
return Posts.find({category: category}, {limit: 20});
}
然后添加如下服务器路由:
Router.route('/embed/:owner', function () {
var html = SSR.render('embed', {owner: this.params.owner});
this.response.end(html);
}, {where: 'server'});
现在您只需要将iframe指向http://localhost:3000/embed/myusername
。
在这个阶段,我不建议以这种方式使用流星,而是创建一个简单的后端,直接连接到DDP或mongo,并渲染你的iframe的html。
相关文章:
- 是否可以添加<脚本>添加'_someTag'到iFrame中的URL
- 删除所有<link>iframe中的元素
- 管理<iframe>在jsp页面中
- 插入<脚本>使用jQuery将其转换为iframe
- 将新行更改为<p>包裹在iFrame中
- 如何显示<iframe>s作为a帧中的纹理
- 隐藏<页眉>如果在iFrame中
- 流星js写的静态HTML?嵌入<iframe>
- 一个Vimeo<iframe>嵌入劫持滚动/滑动事件
- 正在尝试从YouTube捕获console.log消息<iframe>
- 如何阻止<iFrame>
- 使用JavaScript更改<iframe>
- 谷歌地图-不通过<iframe>
- 使用<对象>或者<iframe>在链接中
- Youtube嵌入有错误的开始时间<iframe><javascript>
- tinymce不适用于<iframe>标签
- 使用& lt; iframe>作为clmtracker的来源
- 检测& lt; iframe>iframe内部的高度和宽度
- 使用& lt; iframe>如何将一个HTML页面添加到另一个页面,如何在第一页上添加效果
- & lt; iframe>异步工作