React dotenv无法加载.env文件

时间:2018-01-25 05:21:13

标签: javascript node.js reactjs

React + node项目,在root中获取我的.env文件(以及所有其他根文件,如.eslint,.gitignore),它包含6行,如APIKEY=aeofiunoief,没有其他特殊符号。

src/index.js执行正常导入(如React,ReactDOM),然后//eslint-disable import/first,然后require('dotenv').load()。根据我看到的所有内容,我应该将变量加载到process.env,但是当我检查console.log时,我看不到除NODE_ENVPUBLIC_URL之外的任何内容。

这真令人困惑......

2 个答案:

答案 0 :(得分:2)

您的文件结构:

src
  index.js
  ...
.env
...

执行:

require('dotenv').config({ path: '../.env' });
console.log(process.env);

来自dotenv GitHub:

  

如果包含环境变量的文件的名称或位置不同,则可以指定自定义路径。

     

require('dotenv').config({path: '/custom/path/to/your/env/vars'})

答案 1 :(得分:0)

就我而言,我使用的是Dotenv Webpack插件,但指向的文件路径错误:

plugins: [
    htmlWebpackPlugin,
    new Dotenv({
      path: path.resolve(__dirname, .., '.env')
    })
  ],

对于我的结构,path: path.resolve(__dirname, '.env')是有效的正确配置。只要您指向系统中正确的.env,您就应该很好。