reactjs - 元标记服务器端渲染
问题描述
我正在使用反应头盔,对服务器端渲染有点迷茫。如果我在 google 控制台中查看元素,我可以看到标题和元描述,但是在查看页面源时它们不存在。
我正在使用带有 express 的 Node.js 后端来创建 API。React 应用程序只是一个从 Node.js API 获取数据的前端应用程序。
在 React 中,我只有:
import { Helmet } from "react-helmet";
render() {
return(
<>
<Helmet>
<title>My site title</title>
<meta name="description" content="Helmet application" />
</Helmet>
</>
)
}
到服务器端示例的直接链接显示了一些我真的不知道该怎么处理的代码。我认为“服务器”这个词让我失望,因为我认为我需要在我的 Node.js 服务器上放置一些代码,但也许不是这样?
解决方案
实际上,Helmet.renderStatic()
方法将收集与您请求的页面对应的所有标签。
如果您还想在服务器端查看这些标签(源代码),则需要在服务器文件中:
称呼
const helmet = Helmet.renderStatic()
从
helmet
得到helmet.title.toString()
和helmet.meta.toString()
就像https://github.com/nfl/react-helmet#server-usage
As string input
描述的那样,将它们附加到您的 HTML 中。
推荐阅读
- google-chrome - Chrome 视频标签无法播放碎片化的 mp4 流
- python - Pandas df 上的 Python 递归
- python - 如何计算算法完成迷宫所采取的步骤数
- laravel - Laravel 7-“未定义索引:电子邮件”,尝试发送电子邮件时
- python - Django 呈现具有大量选择的页面。这能更快吗?
- sql - 查询数据库中所有表的不同/唯一值计数 - MS SQL Server
- php - 提交表单复选框值而不刷新页面Ajax php
- python - PyEMU - 来自 MODFLOW6 2D 横截面模型的 add_parameters()
- java - 如何给 id 以在 Cloud Firestore 中发帖?
- python - 如何转换。通过关键字将样本字典转换为不同格式?