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_ENV
和PUBLIC_URL
之外的任何内容。
这真令人困惑......
答案 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
,您就应该很好。