繁体   English   中英

请求中未使用 baseURL url

[英]baseURL not used in request url

我正在使用Axios (带有reactexpress )。 我的.env-file中有一个baseURL

当我console.log(process.env.BASE_URL)我从终端中的 .env 获得url时: localhost:3000/api

但在我的请求(chrome dev tools > network > call > header)中:使用localhost:3000 (没有/api )。

当我对baseURL进行硬编码时,而不是使用.env-file一切正常。 那么我的.env-file有问题吗? 还是axios 任何帮助表示赞赏。 谢谢!

以下是相关代码:

//.env
BASE_URL=http://localhost:3000/api

//using axios
require("dotenv").config();
...

const Provider = () => {
...
  const contextAxios = axios.create({ baseURL: process.env.BASE_URL }); //not working
  //const contextAxios = axios.create({ baseURL: http://localshost:3000/api }) -> works

   useEffect(() => {
    const getProt = async() => {
      const { data } = await contextAxios.get('/prot');
      ...
    };
    getProt();
  }, []); 
 ...
};
  1. 你需要确保你的 .env 设置有 'REACT_APP_BASE_URL' 可以工作,如果你没有 'REACT_APP_' 它将无法工作。

  2. 重启节点服务器进行测试。

  3. 您是否尝试过重新安装 npm 模块?

# with npm 
npm install dotenv
 
# or with Yarn 
yarn add dotenv

然后你可以像你所做的那样简单地要求它。 在对 you.env 配置进行更改后还要重新启动您的节点服务器,否则它们将不会更新(我自己发现很难...:)

//Then require like you have done and what you have should work.
require('dotenv').config()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM