簡體   English   中英

Heroku 環境變量對於反應應用程序不可見

[英]Heroku environment variables are not visible for the react app

我有一個主要基於 React 的前端應用程序,並且我創建了一個節點服務器來為該應用程序提供服務。 構建並且一切都成功,並且 index.html 也被提供,但它不會讀取我通過 heroku 應用程序設置(甚至來自 CLI)設置的環境變量。

Package.json 腳本

    "scripts": {
    "start": "node server",
    "start-dev": "react-scripts start",
    "start-windows": "set PORT=3001 && react-scripts start",
    "build": "react-scripts build",
    "postinstall": "npm run build",
    "test": "jest src/**/*.test.js",
    "eject": "react-scripts eject"
  }

節點服務器,

const express = require ('express')
const app = express();
const http = require('http').Server(app);
const path = require( 'path')
let port = process.env.PORT || 3000;

app.use(express.static(path.join(__dirname, 'build')));


app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, 'build') + '/index.html');
});

app.listen(port, () => {
  console.log(`App running on port ${port}`);
});

我在 js 中打印以下內容,

console.log('LOCAL_TEST_ENVIRONMENT --- ', process.env.LOCAL_TEST_ENVIRONMENT) // LOCAL_TEST_ENVIRONMENT ---  undefined
console.log('BACKEND_URL --- ', process.env.BACKEND_URL) // BACKEND_URL --- undefined
console.log('NODE_ENV --- ', process.env.NODE_ENV) // NODE_ENV --- production

我設置的環境變量, 在此處輸入圖像描述

我怎樣才能解決這個問題?

訪問環境變量時,前綴REACT_APP_是必需的,請嘗試

{process.env.REACT_APP_LOCAL_TEST_ENVIRONMENT}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM