跳到主要内容

进阶配置

你可以通过在 Shell 内或使用 .env 文件设置环境变量来调整各种开发环境与生产环境设置。

注意:你不需要像使用自定义环境变量那样,在下列变量前加上 REACT_APP_

变量开发环境生产环境作用
BROWSER✅ 可用🚫 不可用默认情况下, Create React App 会打开默认的系统浏览器,macOS 上默认启用 Chrome。指定一个浏览器来覆盖该行为,或设定为 none 来完全禁用它。如果需要自定义浏览器启动方式,你可以指定一个 node 脚本作为替代。任何传递给 npm start 的参数也将被传递给这个脚本,你的应用程序 url 将会是最后一个参数。脚本的文件名必须存在 .js 扩展名。
BROWSER_ARGS✅ 可用🚫 不可用当指定 BROWSER 环境变量时,该环境变量所接收的任何参数都将传递给 browser 实例。支持以空格分割传入的多参数列表。默认情况下,不向浏览器传递任何参数。
HOST✅ 可用🚫 不可用默认情况下生产环境的 web 服务器会绑定设备商的所有主机名("localhost"、LAN 网络地址等)。你可以使用此变量来指定不同的主机。
PORT✅ 可用🚫 不可用默认情况下,生产环境 web 服务器会监听 3000 端口或提示你尝试下一个可用端口。你可以使用该变量来指定不同的端口。
HTTPS✅ 可用🚫 不可用当该选项设定为 true 时, Create React App 将以 https 模式运行开发服务器。
PUBLIC_URL🚫 不可用✅ 可用Create React App 默认你的应用托管在 web 服务器的根目录,或在 package.json (homepage) 中指定的子路径上。通常情况下, Create React App 会忽略主机名。你可以使用此变量强制将 asset 逐个引用到你提供的 url(包括主机名)。当使用 CDN 托管应用时,这个选项可能会很有用。
CI✅ 可用✅ 可用当这个值被设定为 true 时, Create React App 会将警告视为构建中产生的失败。这也使 test runner 未被监视。大多数 CI 默认启用此标志。
REACT_EDITOR✅ 可用🚫 不可用当应用程序在开发中崩溃时,你将会看到一个附带可点击堆栈进行追踪的错误。当你点击它时, Create React App 会根据当前正在运行的进程来判断你正在使用的编辑器,并调用它打开相关的源文件。你可以发一个 Pull request 来检测你选择的编辑器。设定此环境变量将会覆盖自动检测,如果你这样做了,请确保你的系统路径环境变量指向你的编辑器 bin 文件夹。你也可以将其置为 none 来完全禁用它。
CHOKIDAR_USEPOLLING✅ 可用🚫 不可用当其设定为 true 时,water 会运行在轮询模式中,这在 VM 中是必要的。如果 npm start 时未监测到修改,请使用此选项。
GENERATE_SOURCEMAP🚫 不可用✅ 可用当其设置为 false 时,不会为生产环境构建版本生成 source maps。这解决了一些小型机器内存不足(OOM)的问题。
NODE_PATH✅ 可用✅ 可用Node.js 中的 NODE_PATH 相同,但只允许使用相对路径文件夹。通过设置 NODE_PATH=src 可以方便的模拟 monorepo 设置。
INLINE_RUNTIME_CHUNK🚫 不可用✅ 可用默认情况下, Create React App 可以在生产环境运行时中将脚本嵌入至 index.html,当这个值被设定为 false 时,脚本不会被嵌入,而是像往常一样被引入。在处理 CSP 时通常需要这么做。
IMAGE_INLINE_SIZE_LIMIT🚫 不可用✅ 可用默认情况下,小于 10,000 字节的图像将被转码为 base64 data URI,并内联在 CSS 或 JS 构建生成物中。对其进行设置从而以字节为单位改变大小限制。将其设定为 0 将会禁用图像内联。
EXTEND_ESLINT✅ 可用✅ 可用当其设定为 true 时,从 eslint-config-react-app 中继承的 ESLint 设置对 eslint-loader 可用。
TSC_COMPILE_ON_ERROR✅ 可用✅ 可用当其设定为 true 时,即使 TypeScript 类型检查抛出错误,项目也能被正常构建与运行。这些错误会在终端或浏览器控制台中作为警告打印。