2017-06-06 119 views
2

我試圖按照從反應創建應用程序內添加ENV變量沒有成功文檔:陣營ENV變量與.ENV

https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables

enter image description here

  • 文件裏面的根我有一個「.env」文件(默認.env屬性)
  • .env文件只包含一個變量'REACT_APP_API_HOST = http://localhost:8080'
  • 試圖訪問我的應用程序內process.env(創建與創建應用程序的反應)讓我不確定

這是我想沒有成功訪問process.env app.js。

我無法訪問代碼中的process.env。有沒有關於如何做的工作示例?

+0

是NODE_ENV在你的路徑定義? –

+0

不,但定義了.env作爲默認值。 – Ante

+0

另外,嘗試使用定義的NODE_ENV,但仍然不起作用。 – Ante

回答

1

在您的package.json中,您最終必須在啓動腳本中添加NODE_ENV=development。例如。 NODE_ENV=development && node scripts/start.js彈出create-react-appNODE_ENV=development react-scripts start爲未注射的一個。

編輯:顯然NODE_ENV=development不是必需的,因爲它在運行startbuild腳本時已經被硬編碼。根據文檔,您的自定義環境變量應該具有以下格式REACT_APP*,正如您已經完成的那樣。

一個片段會有幫助。

+0

問題在於,我在通過監視變量在調試模式下嘗試讀取它。出於某種原因,它不起作用。通過簡單的控制檯日誌記錄,它可以工作 – Ante

2

您可以在根上使用.env文件。

  • start: react-scripts start - 使用.env.development
  • build_staging: "set REACT_APP_ENV=staging & react-scripts build" - 使用.env.staging
  • build: "react-scripts build" - 使用.env.production