跳至主要內容

進階組態

您可以透過在 shell 中設定環境變數或使用 .env 來調整各項開發和生產設定。

注意:您不需要在以下變數之前宣告 REACT_APP_,就像在自訂環境變數中的情況一樣。

變數開發生產用量
BROWSER✅ 使用🚫 忽略預設情況下,Create React App 會開啟預設的系統瀏覽器,在 macOS 上優先使用 Chrome。您可以指定 瀏覽器 來覆寫這個行為,或設定成 none 來完全關閉。如果您需要自訂瀏覽器開啟的方式,您可以指定一個節點指令碼。傳遞給 npm start 的任何參數也會傳遞給此指令碼,而您的應用程式提供服務的 URL 會是最後一個參數。您的指令碼檔名必須有 .js 副檔名。
BROWSER_ARGS✅ 使用🚫 忽略當指定 BROWSER 環境變數時,您設定給此環境變數的任何參數都會傳遞給瀏覽器實體。多個參數會以空白分隔的清單型態支援。預設情況下,沒有任何參數傳遞給瀏覽器。
HOST✅ 使用🚫 忽略預設情況下,開發用網路伺服器會繫結至裝置上的所有主機名稱(localhost、區域網路地址等等)。您可以使用這個變數指定不同的主機。
PORT✅ 使用🚫 忽略預設情況下,開發用網路伺服器會嘗試在 3000 連接埠上監聽或提示您嘗試下一個可用的連接埠。您可以使用這個變數指定不同的連接埠。
HTTPS✅ 使用🚫 忽略設定為 true 時,Create React App 會以 https 模式執行開發用伺服器。
WDS_SOCKET_HOST✅ 使用🚫 忽略設定時,Create React App 會以自訂的 WebSockets 主機名稱執行開發用伺服器以進行熱模組重新載入。通常,webpack-dev-server 會預設 SockJS 主機名稱為 window.location.hostname。您可以使用這個變數一次在多個 Create React App 專案上啟動本機開發。請參閱 webpack-dev-server 文件 以取得更多詳細資料。
WDS_SOCKET_PATH✅ 使用🚫 忽略設定時,Create React App 會以自訂的 WebSockets 路徑執行開發用伺服器以進行熱模組重新載入。通常,webpack-dev-server 會預設 SockJS 路徑名稱為 /ws。您可以使用這個變數一次在多個 Create React App 專案上啟動本機開發。請參閱 webpack-dev-server 文件 以取得更多詳細資料。
WDS_SOCKET_PORT✅ 使用🚫 忽略設定時,Create React App 會以自訂的 WebSockets 連接埠執行開發用伺服器以進行熱模組重新載入。通常,webpack-dev-server 會預設 SockJS 連接埠為 window.location.port。您可以使用這個變數一次在多個 Create React App 專案上啟動本機開發。請參閱 webpack-dev-server 文件 以取得更多詳細資料。
PUBLIC_URL✅ 使用✅ 使用Create React App 預設假設您的應用程式會在服務端網路伺服器的根目錄或 package.json (homepage) 指定的子路徑中。通常,Create React App 會略過主機名稱。您可以使用這個變數強制要求資產逐字參照您提供的網址(包括主機名稱)。這在使用 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 時,停用 Fast Refresh 的實驗性支援,允許你在無需重新載入頁面的情況下,即時微調元件。
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 中推出的,並回溯至 React 16.14.0、15.7.0 和 0.14.10 的 新的 JSX 轉換功能。新的專案預設會使用支援此功能的 React 版本,但如果你無法升級 React,你可能需要在現有的專案中停用它。