我创建了一个扩展“ContentPageMetaResolver”的页面,该页面实现了 PageRobotsResolver
export class MyContentPageMetaResolver extends ContentPageMetaResolver implements
PageRobotsResolver {
pageType = PageType.CONTENT_PAGE;
pageTemplate = 'StaticContentPageTemplate';
resolveRobots(): Observable<PageRobotsMeta[]> {
return of(new Array(PageRobotsMeta.NOFOLLOW, PageRobotsMeta.NOINDEX));
}
}
因此,这会将以下条目添加到页面的 head 元素中:
<meta name="robots" content="NOFOLLOW, NOINDEX">
现在我需要对关键字做同样的事情。知道如何创建自定义解析器实现吗?
PageRobotsResolver 接口在 page.resolvers.d.ts 文件中开箱即用:
/**
* Resolves the robot information for the page. This is used by
* search engines to understand whether the page and subsequential links
* should be indexed.
*
*/
export interface PageRobotsResolver {
/**
* Resolves the robots for the page.
*
* @deprecated since version 1.3
* Use `resolveRobots()` instead.
*/
resolveRobots(...args: any[]): Observable<PageRobotsMeta[]>;
/**
* Resolves the robots for the page.
*/
resolveRobots(): Observable<PageRobotsMeta[]>;
}
并将以下内容添加到我的模块的提供者列表中:
@NgModule({
providers: [
{ provide: ContentPageMetaResolver, useExisting: MyContentPageMetaResolver }
]
})