标题和元标签未在服务器中的角度 SSR 中呈现

2024-01-29

我在前端使用 Angular 6 开发了一个网站。默认情况下,Angular 对 SEO 不友好,因此为了做到这一点,我以 Angular-Universal 或 Angular SSR(服务器端渲染)的方式实现它。我更新了代码并比较了之前和现在的页面源,我可以在标签内看到我的应用程序<app-root> and </app-root>,然后才会出现“正在加载...”。

我正在使用MetaService and TitleService from @angular/platform-browser更新所需的<meta>Facebook 和 Twitter 的标签以及<title>分别标记。

问题是当我在本地系统中运行节点服务器时,视图源向我显示渲染的meta标签,但是当我在 AWS VM 上的节点服务器中运行相同的代码时,我没有得到渲染的结果meta标签,但其他应用程序代码可用。

UPDATE:添加的函数meta tags

updateMetaTags(egElement: Elements[]) {
    this.url = 'https://example.com/eg/' + this.id;
    const title = egElement[1].innerHTML;
    this.tweetText = 'Check the latest blog on \"' + title + '\"';
    this.meta.addTags([
      { property: 'og:url', content: this.url },
      { property: 'og:type', content: 'website' },
      { property: 'og:title', content: title },
      { property: 'og:description', content: 'Author: ' + egElement[2].innerHTML },
      { property: 'og:image', content: this.egElement[3].img }
    ]);
  }

我在 ngOnInit() 中调用这个函数。它在我的本地计算机上正确渲染,但不在服务器上渲染。

egElement and id从服务调用返回到后端并且meta服务已被导入并注入到构造函数中。


如果您使用自定义 XHR 调用,例如如果不使用 Angular HttpClient,SSR 将不会等待 API 调用响应(如果使用第 3 方库检索 API 数据,也可能会发生这种情况)。查看您的网站,除了页面布局/页眉/页脚之外,没有发生服务器端渲染

我猜测这与 SSR 中未检索到 API 数据有关。也许您可以用一些相关信息来更新您的问题?

有一个经过良好测试和维护的库,称为ngx-meta这是通用(SSR)兼容的。您可以查看他们的实现和演示,或者尝试一下他们的库https://github.com/fulls1z3/ngx-meta https://github.com/fulls1z3/ngx-meta

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标题和元标签未在服务器中的角度 SSR 中呈现 的相关文章

随机推荐

  • Boot 3 升级后错误响应正文发生更改

    我的项目中有以下控制器端点 GetMapping value id public FooDto findOne PathVariable Long id Foo model fooService findById id orElseThro
  • ImageFont 检测丢失的字形(Python Pillow)[重复]

    这个问题在这里已经有答案了 这是一个简短的example http pillow readthedocs io en 3 1 x reference ImageFont html from PIL import ImageFont Imag
  • 如何处理 Node.js 中的“read ETIMEDOUT”?

    我有一个使用 Node js 的发布 订阅模型将数据从一个客户端传输到另一个客户端 此外 服务器还记录收到的所有内容并将其发送给新客户端 但是 某些数据在传输时损坏 并且出现如下错误 Error with socket Error writ
  • R中的快速并行二分距离计算

    使用并行 Rcpp 后端计算 R 中二分距离最快的方法是什么 parallelDist是一个很棒的包 带有 cpp 后端并支持多线程 但不支持二分距离计算 据我所知 Using parallelDist 用于二分距离矩阵计算 除了 m1 m
  • 从 C# 在现有 IE 窗口的选项卡中启动 URL

    当 browserExe 指向 Firefox Safari 或 Chrome 时 以下代码将在现有浏览器窗口中打开链接 当指向 IEXPLORE EXE IE7 时 将打开一个新窗口 ProcessStartInfo pi new Pro
  • 如何在 Visual Studio Code 中禁用 PHP 验证?

    在 Windows 版本的 Visual Studio Code 版本 0 10 1 中打开任何 PHP 文件时 我收到消息 无法验证 php 文件 没有找到php程序 使用 php validate executablePath 设置来配
  • 在 PHP7 中本机分析多个脚本

    自 PHP 7 发布以来 现在不可能使用以下命令来分析整个脚本选择declare ticks 1 在你的基本文件中 然后使用register tick function 监视每个刻度 因为它不再遵循包含路径 根据提交的 PHP 错误http
  • 如何解决.NET Core包版本冲突

    我正在从 NET MVC 5 Web 应用程序迁移到 NET Core 2 2 Web API 项目以及五个 NET Standard 2 0 项目 所有项目都托管在一个解决方案下 我现在收到 28 个关于包冲突的警告 MSB3277 这些
  • 如何更改geom_point中的颜色或ggplot中的线条[重复]

    这个问题在这里已经有答案了 我有一个这样的数据 data lt structure list sample structure c 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 2L 2L 2L 2L 2L 2L 2L 2L
  • 重载或可选参数之间的性能差异?

    我想知道是否应该在 C 中使用可选参数 到目前为止 我总是重载方法 但可选参数也很好 更干净 代码更少 我在其他语言中使用它们 所以我在某种程度上也习惯了它们 有什么反对使用它们的吗 性能对我来说是第一个关键点 会掉吗 Example co
  • 如何保存 raphael 生成的 svg

    有没有办法将 raphael 生成的 SVG 保存为 svg 文件 请注意 它只需要在 Chrome 中工作 我想出了一个解决方案拉斐尔导出 https github com ElbertF Raphael Export 它给了我一个有效的
  • 更新已部署的 SSIS 包

    我有一个已部署的 SSIS 包 其中包含时间表和所有内容 现在 我对这个包进行了更改 我是否必须重新部署它 并再次为其设置计划 或者是否有办法让已部署的 SSIS 包更新为最新版本 是的 您需要将包重新部署到调度程序期望找到包的任何位置 但
  • 在 Tensorflow 2 中将梯度可视化为热图

    我正在研究通过引导反向传播生成热图的任务 我重写了原来的Relu并获得了每个参数的梯度 但是 我不确定下一步应该做什么 感谢您的帮助 谢谢你 这是我的代码 我首先使用 tf RegisterGradient GuidedRelu like
  • Python urlparse——提取不带子域的域名

    需要一种使用 Python urlparse 从 url 中提取不带子域的域名的方法 例如我想提取 google com 来自完整的网址 例如 http www google com 我能想到的最接近的urlparse is the net
  • 如何在Python中将JSON字符串转换为整数?

    如何将此 json 中的年份和 isbn 转换为整数 title The Notebook author Nicholas Sparks year 1996 isbn 0553816713 您可以简单地用相应的 int 值更新这些值 dat
  • XStream:解析时 XML 层次结构崩溃

    我有一个 XML 文档 由 Adob e XFA 表单生成 其中包含如下数据
  • fullcalendar.io 可以在 .net core Blazor 中使用吗?

    我尝试在 Blazor WebAssembly 页面中使用 FullCalendar 任何人都知道如何在 Blazor 中使用 FullCalendar 任何人都可以帮助我吗 我将 FullCalendar 包含在 libman json
  • 安装和导出仅 INTERFACE 库,CMake

    新的 CMake 用户在这里 我使用以下 CMake 文件制作了一个简单的仅标头库 cmake minimum required VERSION 3 7 project mylib VERSION 0 1 LANGUAGES CXX set
  • 是否可以在悬停时隐藏链接地址?

    我已经设置了一个包含很多链接的图表 当您将鼠标悬停在链接上时 它会显示链接在浏览器左下角的位置 这真的让我很烦恼 如下所示 可以删除这个吗 只要我可以隐藏 删除它 任何方法都可以 HTML CSS JS 等 仅当您使用 a 带有集合的元素h
  • 标题和元标签未在服务器中的角度 SSR 中呈现

    我在前端使用 Angular 6 开发了一个网站 默认情况下 Angular 对 SEO 不友好 因此为了做到这一点 我以 Angular Universal 或 Angular SSR 服务器端渲染 的方式实现它 我更新了代码并比较了之前