1

我有一個反應的應用程序,工作得很好,客戶端,現在試圖讓它在服務器端工作。使用process.env時,反應服務器端渲染

我使用它與創造 - 反應 - 應用樣板: https://github.com/facebookincubator/create-react-app

我遇到了,我存放一些環境變量.ENV的問題,但是在服務器上,我不能訪問這些變量。

所以一條線如axios.get(process.env.API_URL + 'something')會通過404,因爲process.env.API_URLundefined

這是我的理解.env是我應該用於這樣的東西的文件。我錯了嗎?我應該使用另一種方法來存儲常見的環境變量嗎?或者有什麼方法讓節點服務器識別這些值?

回答

1

您可以(應該)爲生產版本提供服務。 當您製作npm run build時,webpack將取得.env文件中的條目,並將其替換爲相應的值。

對於服務器端渲染,您必須在節點服務器中定義環境變量,如系統環境變量或由後端服務器(可能是一個webpack-dev-server讀取的.env)正在使用)