首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React无法从.env读取配置

React无法从.env读取配置
EN

Stack Overflow用户
提问于 2019-08-12 12:06:39
回答 3查看 342关注 0票数 0

我正在ReactJS上工作,并试图从.env文件中读取一些配置。我遵循这个page的说明,但它对我不起作用。

这是我的Test.js:

代码语言:javascript
运行
复制
import React from 'react';
require('dotenv').config()


class Test extends React.Component {

    constructor(props) {
        super(props);

        this.state={
            user:process.env.DB_USER,
            pass:process.env.DB_PASS
        }
    }

    render() {
        return (
            <div>
                <p>Test</p>
                {this.state.user}
                {this.state.pass}
            </div>
        );
    }
}

export default Test;

这是我的.env文件:

代码语言:javascript
运行
复制
DB_USER=test
DB_PASS=test

下面是我的文件夹结构:

在我的页面上,我只能看到这样的文字:“测试”。因此,我认为应用程序无法从.env文件中获取值。

这里有没有人可以帮我从.env文件中读取配置?感谢您的支持。

EN

回答 3

Stack Overflow用户

发布于 2019-08-12 13:00:32

假设您使用create-react-app作为您的项目样板。你可以在你的环境变量中添加REACT_APP前缀。首先,在根目录(在src文件夹之外)创建一个.env文件。在.env文件中

代码语言:javascript
运行
复制
REACT_APP_USERNAME=lorem

然后,您可以使用process.env.REACT_APP_USERNAME在项目中的任何位置调用它,例如

代码语言:javascript
运行
复制
console.log(process.env.REACT_APP_USERNAME)

我希望这能奏效,祝你好运。

票数 1
EN

Stack Overflow用户

发布于 2019-08-12 13:46:29

1)如果您使用create-react-作为样板应用程序,则创建

1.1 #.env文件

代码语言:javascript
运行
复制
REACT_APP_SOME_NAME=something

名称必须以REACT_APP_开头

1.2 Access环境变量

代码语言:javascript
运行
复制
<p>{process.env.REACT_APP_SOME_NAME}</p>

1.3 npm运行启动

使用npm run start在.env文件中添加变量后重新启动应用程序

2)如果不使用 create-react-app

2.1) npm install dotenv --save

2.2) Next将以下行添加到您的应用程序中。

require('dotenv').config()

2.3)然后在应用程序的根目录下创建一个.env文件,将变量添加到该文件中,并在使用npm start添加变量后重新启动应用程序。

// contents of .env

REACT_APP_API_KEY = 'my-secret-api-key'

Git2.4)最后,将.env添加到你的.gitignore文件中,这样Git就不会忽略它,它永远不会在GitHub上结束。

票数 1
EN

Stack Overflow用户

发布于 2019-08-12 12:11:42

假设您从项目的根目录运行应用程序,我的理解是您需要将.env文件的路径指定为src,如下所示:

代码语言:javascript
运行
复制
const dotenv = require('dotenv');

/* Specify path to .env file */
dotenv.config({ path: 'src' });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57455532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档