Create React App 中文文档

Create React App 中文文档

  • 快速入门
  • 帮助
  • GitHub

›后端集成

Welcome

  • 关于文档

快速入门

  • 入门
  • 文件夹结构
  • 可用的 Scripts
  • 支持的浏览器和特性
  • 更新到新版本

开发

  • 编辑器设置
  • 隔离开发组件
  • 分析 Bundle (包) 大小
  • 在开发环境中使用 HTTPS

样式和资源

  • 添加一个样式表
  • 添加 CSS Modules
  • 添加 Sass
  • PostCSS(后处理 CSS)
  • 添加图片,字体和文件
  • 使用 public 文件夹
  • 代码拆分(Code Splitting)

构建 App

  • 安装依赖项
  • 导入组件
  • 使用全局变量
  • 添加 Bootstrap
  • 添加 Flow
  • 添加 TypeScript
  • 添加 Relay
  • 添加 Router(路由)
  • 环境变量
  • 制作渐进式 Web 应用程序(PWA)
  • 创建生产构建

测试

  • 运行测试
  • 调试测试

后端集成

  • 在开发环境中代理 API 请求
  • 使用AJAX请求获取数据
  • 集成后端 API
  • Title & Meta 标签

部署

  • 部署

高级用法

  • 我可以使用 Decorators 吗?
  • 预渲染静态 HTML
  • 高级配置
  • Ejecting 的替代方案

支持

  • 故障排除
Edit

Title(网页标题) 和 Meta 标签

更改标题标签

你可以在生成的项目的 public 文件夹中找到 HTML 源文件。你可以编辑其中的 <title> 标签,将标题从 “React App” 更改为其他任何内容。

请注意,通常你不会经常编辑 public 文件夹中的文件。例如,添加样式表是在不触及 HTML 的情况下完成的。

如果需要根据内容动态更新页面标题,可以使用浏览器 document.title API。对于更复杂的方案,当你想要从 React 组件更改标题时,可以使用 React Helmet 第三方库。

如果你在生产环境中为自己的应用程序使用自定义服务器,并希望在将标题发送到浏览器之前修改标题,则可以按照 本章节中的建议操作。或者,你可以将每个页面预构建为静态 HTML 文件,然后加载JavaScript 包,此处将 在这篇文章中 对此进行介绍。

在服务器上生成动态 <meta> 标记

由于 Create React App 不支持服务器端渲染,你可能想知道如何动态修改 <meta> 标签化并反映当前的 URL。要解决此问题,我们建议在 HTML 中添加占位符,如下所示:

<!doctype html>
<html lang="en">
  <head>
    <meta property="og:title" content="__OG_TITLE__">
    <meta property="og:description" content="__OG_DESCRIPTION__">

然后,在服务器上,无论你使用哪个后端服务器,都可以将 index.html 读入内存并将 __OG_TITLE__ , __OG_DESCRIPTION__ 和任何其他占位符替换为取决于当前 URL 的值。只需确保清理和插值转义,以便将它们嵌入到 HTML 中是安全的!

如果使用 Node 服务器,甚至可以在客户端和服务器之间共享路由匹配逻辑。然而,重复它也可以在简单的情况下正常工作。

将数据从服务器注入页面

与上一节类似,你可以在 HTML 中保留一些注入全局变量的占位符,例如:

<!doctype html>
<html lang="en">
  <head>
    <script>
      window.SERVER_DATA = __SERVER_DATA__;
    </script>

然后,在服务器上,你可以在发送响应之前将 __SERVER_DATA__ 替换为实际 JSON 数据。然后,客户端代码可以读取window.SERVER_DATA 以使用它。确保在 将JSON发送到客户端之前对其进行清理,因为它会使你的应用容易受到 XSS 攻击。

← PreviousNext →
  • 更改标题标签
  • 在服务器上生成动态 `` 标记
  • 将数据从服务器注入页面
Create React App 中文文档
文档
快速入门学习 React
社区
Stack OverflowSpectrumTwitter
更多
GitHubStar
Facebook Open Source
Copyright © 2018 Facebook Inc.