高级配置
你可以通过在 shell 中或使用 .env 设置环境变量来调整各种开发和生产设置。
¥You can adjust various development and production settings by setting environment variables in your shell or with .env.
注意:你不需要像使用自定义环境变量那样在以下变量之前声明
REACT_APP_
。¥Note: You do not need to declare
REACT_APP_
before the below variables as you would with custom environment variables.
多变的 | 开发 | 生产 | 用法 |
---|---|---|---|
BROWSER | ✅ 用过的 | 🚫 忽略 | 默认情况下,Create React App 将打开默认系统浏览器,支持 macOS 上的 Chrome。指定 browser 以覆盖此行为,或将其设置为 none 以完全禁用它。如果你需要自定义浏览器的启动方式,你可以指定一个节点脚本。传递给 npm start 的任何参数也将传递给此脚本,并且提供你的应用的 url 将是最后一个参数。你的脚本文件名必须具有 .js 扩展名。 |
BROWSER_ARGS | ✅ 用过的 | 🚫 忽略 | 当指定 BROWSER 环境变量时,你为此环境变量设置的任何参数都将传递给浏览器实例。支持多个参数作为空格分隔的列表。默认情况下,没有参数传递给浏览器。 |
HOST | ✅ 用过的 | 🚫 忽略 | 默认情况下,开发 Web 服务器绑定到设备上的所有主机名(localhost 、LAN 网络地址等)。你可以使用此变量来指定不同的主机。 |
PORT | ✅ 用过的 | 🚫 忽略 | 默认情况下,开发 Web 服务器将尝试监听端口 3000 或提示你尝试下一个可用端口。你可以使用此变量指定不同的端口。 |
HTTPS | ✅ 用过的 | 🚫 忽略 | 当设置为 true 时,Create React App 将以 https 模式运行开发服务器。 |
WDS_SOCKET_HOST | ✅ 用过的 | 🚫 忽略 | 设置后,Create React App 将使用自定义 websocket 主机名运行开发服务器以进行热模块重新加载。通常,webpack-dev-server 默认为 window.location.hostname 作为 SockJS 主机名。你可以使用此变量一次在多个 Create React App 项目上启动本地开发。有关详细信息,请参阅 webpack-dev-server 文档。 |
WDS_SOCKET_PATH | ✅ 用过的 | 🚫 忽略 | 设置后,Create React App 将使用自定义 websocket 路径运行开发服务器以进行热模块重新加载。通常,webpack-dev-server 默认为 /ws 作为 SockJS 路径名。你可以使用此变量一次在多个 Create React App 项目上启动本地开发。有关详细信息,请参阅 webpack-dev-server 文档。 |
WDS_SOCKET_PORT | ✅ 用过的 | 🚫 忽略 | 设置后,Create React App 将使用自定义 websocket 端口运行开发服务器以进行热模块重新加载。通常,对于 SockJS 端口,webpack-dev-server 默认为 window.location.port 。你可以使用此变量一次在多个 Create React App 项目上启动本地开发。有关详细信息,请参阅 webpack-dev-server 文档。 |
PUBLIC_URL | ✅ 用过的 | ✅ 用过的 | Create React App 假定你的应用托管在服务 Web 服务器的根目录或 package.json (homepage ) 中指定的子路径中。通常,Create React App 会忽略主机名。你可以使用此变量强制将资源逐字引用到你提供的 url(包括主机名)。这在使用 CDN 托管你的应用时可能特别有用。 |
BUILD_PATH | 🚫 忽略 | ✅ 用过的 | 默认情况下,Create React App 会将编译后的资源输出到与你的 /src 相邻的 /build 目录。你可以使用此变量为 Create React App 指定输出资源的新路径。BUILD_PATH 应指定为相对于项目根目录的路径。 |
CI | ✅ 用过的 | ✅ 用过的 | 当设置为 true 时,Create React App 将警告视为构建失败。它还使测试运行器不监视。大多数 CI 默认设置此标志。 |
REACT_EDITOR | ✅ 用过的 | 🚫 忽略 | 当应用在开发过程中崩溃时,你会看到带有可点击堆栈跟踪的错误叠加层。当你点击它时,Create React App 会尝试根据当前运行的进程来判断你使用的编辑器,并打开相关的源文件。你可以 发送拉取请求以检测你选择的编辑器。设置此环境变量会覆盖自动检测。如果你这样做,请确保你的系统 PATH 环境变量指向编辑器的 bin 文件夹。你也可以将其设置为 none 以完全禁用它。 |
CHOKIDAR_USEPOLLING | ✅ 用过的 | 🚫 忽略 | 当设置为 true 时,监视程序在 VM 内根据需要以轮询模式运行。如果 npm start 未检测到更改,请使用此选项。 |
GENERATE_SOURCEMAP | 🚫 忽略 | ✅ 用过的 | 设置为 false 时,不会为生产构建生成源映射。这解决了一些较小机器上的内存不足 (OOM) 问题。 |
INLINE_RUNTIME_CHUNK | 🚫 忽略 | ✅ 用过的 | 默认情况下,Create React App 会在生产构建期间将运行时脚本嵌入到 index.html 中。当设置为 false 时,脚本将不会被嵌入,将照常导入。这在处理 CSP 时通常是必需的。 |
IMAGE_INLINE_SIZE_LIMIT | ✅ 用过的 | ✅ 用过的 | 默认情况下,小于 10,000 字节的图片被编码为 base64 中的数据 URI,并内联到 CSS 或 JS 构建工件中。设置此项以控制以字节为单位的大小限制。将其设置为 0 将禁用图片内联。 |
FAST_REFRESH | ✅ 用过的 | 🚫 忽略 | 当设置为 false 时,禁用对快速刷新的实验性支持,以允许你实时调整组件而无需重新加载页面。 |
TSC_COMPILE_ON_ERROR | ✅ 用过的 | ✅ 用过的 | 当设置为 true 时,即使出现 TypeScript 类型检查错误,你也可以运行并正确构建 TypeScript 项目。这些错误在终端和/或浏览器控制台中打印为警告。 |
ESLINT_NO_DEV_ERRORS | ✅ 用过的 | 🚫 忽略 | 当设置为 true 时,ESLint 错误会在开发过程中转换为警告。因此,ESLint 输出将不再出现在错误叠加层中。 |
DISABLE_ESLINT_PLUGIN | ✅ 用过的 | ✅ 用过的 | 当设置为 true 时,eslint-webpack-plugin 将被完全禁用。 |
DISABLE_NEW_JSX_TRANSFORM | ✅ 用过的 | ✅ 用过的 | 当设置为 true 时,禁用 React 17 中引入的 新的 JSX 转换 并反向移植到 React 16.14.0、15.7.0 和 0.14.10。新项目将使用默认支持此功能的 React 版本,但如果你无法升级 React,则可能需要在现有项目中禁用它。 |