Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js React未获取环境变量_Node.js_Reactjs - Fatal编程技术网

Node.js React未获取环境变量

Node.js React未获取环境变量,node.js,reactjs,Node.js,Reactjs,尝试在react中使用env变量,我得到了一个 未定义 我没有使用webpack,只是使用dotenv。不知道为什么它不起作用 我引用了这个 而且它没有我想要的解决方案 package.json { "name": "client", "version": "0.1.0", "private": true, "dependencies": { "@material-ui/core": "^3.9.1", "@material-ui/icons": "^3.0.2

尝试在react中使用env变量,我得到了一个

未定义

我没有使用webpack,只是使用dotenv。不知道为什么它不起作用

我引用了这个

而且它没有我想要的解决方案

package.json

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@material-ui/core": "^3.9.1",
    "@material-ui/icons": "^3.0.2",
    "axios": "^0.18.0",
    "history": "^4.7.2",
    "http-proxy-middleware": "^0.19.1",
    "material-ui-icons": "^1.0.0-beta.36",
    "moment": "^2.24.0",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-redux": "^6.0.0",
    "react-router-dom": "^4.3.1",
    "react-scripts": "2.1.3",
    "redux": "^4.0.1",
    "redux-thunk": "^2.3.0"
  },
  "scripts": {
    "start": "PORT=8001 react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "devDependencies": {
    "dotenv": "^6.2.0"
  }
}
.env

BASE_URL=http://localhost:8000
BASE_SIGN_IN=http://localhost:8000/api/users/loginUser
BASE_GITHUB_SIGNIN=http://127.0.0.1:8000/api/users/auth/github

如果您使用创建了应用程序,env有一个标准格式,如

只需对每个变量预先输入REACT\u APP,就可以了

REACT_APP_YOUR_VARIABLE_NAME

我也有同样的问题。如果您尚未完成.env文件,请在主目录中完成。请记住启动react应用程序,这将允许react读取.env文件。我创建了一个util目录,并进行了函数调用以返回.env文件中的变量。我根据get请求调用了这些函数

`export const API_KEY = () => {

  return process.env.REACT_APP_API_KEY; // will return API KEY in .env file.
};

export const API_URL = () => {
  return process.env.REACT_APP_API_URL; // will return API URL in .env file.
};
` 完成此操作后,函数将向API调用返回.env变量

` axios.get(API_URL(), {
      params: { query: term },
      headers: {
        Authorization: `Client-ID ${API_KEY()}`,
      },
    });`
` axios.get(API_URL(), {
      params: { query: term },
      headers: {
        Authorization: `Client-ID ${API_KEY()}`,
      },
    });`