【问题标题】:I can't access my environment variable in file.js我无法在 file.js 中访问我的环境变量
【发布时间】:2019-10-28 19:01:09
【问题描述】:

我在 .envrc 文件中定义了 REACT_APP_ADMIN_URL,我想将它用作组件链接,但我得到的只是空的或未定义的

这是我的环境变量,在文件 .envrc 中

REACT_APP_ADMIN_URL="http://127.0.0.1:8000/admin"

在我制作的 consts.js 文件中

export const ADMIN_URL = process.env.REACT_APP_ADMIN_URL;

在我的页面上我做了这个

import { ADMIN_URL } from './Consts';

<Menu href={ADMIN_URL}>Admin</Menu>

但不起作用,在我的检查器控制台中我得到了这个

<a href="#" role="menuitem" tabindex="-1">Admin</a>

【问题讨论】:

  • 不确定这是否是问题所在,但我之前从未在 Node 项目中看到 .envrc 文件,只有 .env 文件。改个名字试试?
  • 谢谢,但不起作用

标签: node.js reactjs environment-variables


【解决方案1】:

我认为你必须在运行时从 .env 文件中加载环境变量,你可以使用 dotenv 包来这样做。

  1. 使用npm i dotenv安装包
  2. 在项目的根目录中创建一个 .env 文件。以 NAME=VALUE 的形式在新行中添加特定于环境的变量。
  3. 在您的代码中使用环境变量之前,请将此行 require('dotenv').config()
  4. process.env 现在拥有您在 .env 文件中定义的键和值

【讨论】:

  • 对不起,我该怎么办?
  • 更新了答案。请检查一下。
  • 好的,但我在 ./node_modules/dotenv/lib/main.js 中遇到错误 找不到模块:错误:无法解析 '/Users/r13/dev/projects/ 中的 'fs' educat-flask/node_modules/dotenv/lib'
  • 你是用在客户端还是服务器端? NodeJS是什么环境?
  • 客户端,Node.js v12.11.1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-05
  • 2014-02-11
  • 2018-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-08
相关资源
最近更新 更多