我正在尝试使用process.env加载的dotenv访问一些环境变量。

我的文件夹结构:

.env
src
-- - server.js

我的server.js配置:
(...)
import auth from './middleware/auth'
import dotenv from 'dotenv'
dotenv.load({
    path: '../',
    silent: process.env.NODE_ENV === 'production'
})
auth()
// Instantiate app
const app = express();

我尝试访问process.env变量的文件:
(...)
module.exports = function() {
        console.log("env", process.env.MONGODB_URI)
        var options = {};
        options.jwtFromRequest = ExtractJwt.fromAuthHeader()
        options.secretOrKey = process.env.JWT_SECRET

哪个记录env, undefined,然后崩溃
TypeError: JwtStrategy requires a secret or key
即使我将.env移到src(与服务器相同的目录)中,并删除path中的config,它也会失败。

最佳答案

似乎当您指定路径时,您需要使其完整:

require('dotenv').config({path: __dirname + '/../.env'});

.env是您的文件

关于javascript - Dotenv无法正确加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42283841/

10-11 13:12