这个包,苏淑仪肯定在各个方面都很棒,但遗憾的是,它的作者在撰写自述文件时忘记了像我这样的新手。无论如何,作为一个从未为任何编码社区做出任何贡献的人,我相信我的批评是没有价值的,所以让我们继续前进。
这位特别的作者提供了一篇博客文章和包,这是一个有趣的阅读,但其中大多数直接与自述文件本身,所以我失去了试图配置设置。
这篇博文写道:
您只需要在以下模式中添加seo数据:
SeoCollection.insert({
"route_name" : "home", // the name of the Iron-Router route
"title" : "Title of your home site",
"meta" : [
{"description": "This is the description of the document"},
// add more meta tags
],
"og" : [
{ "image": "http://your-domain.com/images/image.jpg" },
// add more open graph tags
]
})我猜这个包为您创建了集合SeoCollection,所以我只需要填充一些种子数据,为我的应用程序的每个路径插入一个。凉爽的!
哦,但是等等..。自述机构则说了一些不同的话:
您可以设置一些标准值。如果没有其他可用的,则将设置此选项。
Meteor.startup(function() {
if (Meteor.isClient) {
return SEO.config({
title: 'Manuel Schoebel - MVP Development',
meta: {
'description': 'Manuel Schoebel develops Minimal Viable Producs (MVP) for Startups'
},
og: {
'image': 'http://manuel-schoebel.com/images/authors/manuel-schoebel.jpg'
}
});
}
});他是否意味着,如果我不提供任何配置,这些实际值将被设置,即我的站点将被称为"Manuel MVP开发“?这和我要做的插入词是怎么押韵的?为什么这个会在客户身上?为什么没有路线名称?
自述并为SeoCollection.update提供了一些示例代码,和似乎也在做同样的事情!所以我应该用的是update而不是insert?我到底在哪里做这些?
但随后,他谈到了将onAfterHooks用于铁器路由器,而不是用于动态数据。所以我应该用它来代替上面的一些吗?
我真的很想澄清这一点。安装软件包后,我需要做什么?
发布于 2015-06-30 09:46:45
我从未使用过这个包,但是我从阅读docs/code中学到了这一点:
SEO.config
该包能够为不同的路由呈现不同的标头标记。因此,当您插入新的ms-seo配置时,通常会通过一条路由。但您也可以配置默认配置。这就是整个Meteor.startup SEO.config业务的意义所在。
SeoCollection.update
文档中的update调用将选项upsert设置为true。这个选项使查询更新数据库条目(如果存在),如果不存在,则插入数据库条目。这使得更改事情变得更容易,并且在执行meteor reset时,ms-seo的状态保持不变。上一次他更新了自述文件的时候,他没有更新博客文章。
因此,我建议您使用文档化的update语句。甚至,使用upsert
SeoCollection.upsert(
{
route_name: 'aboutMe'
},
{
$set: {
route_name: 'aboutMe',
title: 'About - Manuel Schoebel',
meta: {
'description': 'Manuel Schoebel is an experienced web developer and startup founder. He develops but also consults startups about internet topics.'
},
og: {
'title': 'About - Manuel Schoebel',
'image': 'http://manuel-schoebel.com/images/authors/manuel-schoebel.jpg'
}
}
}
);配置可能是由客户端完成的,以便更容易地进行更新。
SEO.set
最后,使用onAfterAction钩子,这样您就不必手动指定当前路由。你可以在他的代码中看到这一点。SEO.set调用基本上与upsert相同,它只检查iron:router指定的路由。SEO.set函数不会将设置保存到集合中。这意味着,它必须在每次站点加载时执行。
摘要
所以,如果你使用铁:路由器肯定使用onAfterAction和SEO.set。当然,您仍然希望使用SEO.config函数来设置默认设置。
希望这能有所帮助。
https://stackoverflow.com/questions/31095553
复制相似问题