这个软件包,ms-seo在各方面肯定都很棒,但遗憾的是,当他撰写自述文件时,作者忘记了像我这样的新手.无论如何,作为一个从未对任何编码社区做出任何贡献的人,我确信我的批评是值得的,所以让我们继续前进.
这个特别的作者提供了一个博客文章和一个包,这是一个有趣的阅读,但大多数直接与自述文件相矛盾,所以我失去了尝试配置设置.
博客文章指出:
您只需要在以下架构中添加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
]
})
Run Code Online (Sandbox Code Playgroud)
我的猜测是包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'
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
他是否意味着如果我不提供任何配置,那么这些实际值将被设置,即我的网站将被称为"Manuel Schoebel - MVP开发"?这个押韵与我必须制作的插曲有什么关系?为什么这个在客户端呢?为什么没有路线名称?
自述的推移,并提供一些示例代码,一个SeoCollection.update是也似乎做同样的事情!所以我应该使用update,不是insert吗?我到底在哪里做到这一点?
但后来他谈到onAfterHooks在Iron Router中使用动态数据.那么我应该使用它而不是以上所有的一些吗?
我真的很想对此有所澄清.安装包后我需要做什么?
我从来没有使用过这个软件包,但这是我从阅读文档/代码中学到的东西:
该包能够为不同的路由呈现不同的标头标签.因此,当您插入新的ms-seo配置时,通常会传递路由.但您也可以配置默认配置.这就是整个Meteor.startup SEO.config企业的意义所在.
update文档中的调用将选项upsert设置为true.此选项使查询更新数据库条目(如果存在),如果不存在则将其插入.这使得事情变得更容易,而这就是ms-seo的状态在你做的时候保持不变meteor reset.他最后一次更新README,他没有更新博客文章.
所以我建议你使用记录的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'
}
}
}
);
Run Code Online (Sandbox Code Playgroud)
配置可能是在客户端完成的,以便更新它.
最后使用onAfterAction钩子,这样您就不必手动指定当前路径.你可以在他的代码中看到它.该SEO.set呼叫基本上与upsert检查指定的路由检查相同iron:router.该SEO.set功能不会将设置保存到集合中.这意味着,每次网站加载时都必须执行它.
所以,如果你使用铁:路由器绝对使用onAfterAction和SEO.set.当然,您仍然希望使用该SEO.config功能来设置默认设置.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
603 次 |
| 最近记录: |