javascript - Dotenv 未正确加载

标签 javascript node.js environment-variables

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

我的文件夹结构:

.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 需要密码或 key

即使我将 .env 移动到 src(与服务器相同的目录)并删除 config 中的 path , 它失败了。

最佳答案

看来在指定路径的时候,需要把它填满:

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

.env 是你的文件

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

相关文章:

javascript - 指令中的范围 true 给出了错误的结果

javascript - 全局变量在 forEach 循环体内显示为 "unexpected identifier"

bash - 如何在 ssh 命令行中使用环境模块?

shell - 环境变量不会在 shell 脚本中设置

javascript - 如何使用 jQuery 在淡出元素之前暂停?

javascript - Html 中的折叠字段

javascript - 如何使用Node JS、Postgres和dust js在数据库中搜索数据

environment-variables - 使用 ansible 从 env 文件中读取多个值并将它们存储为事实

javascript - iFrame Resizer 将 iFrame 的高度增加到无穷大

node.js - npm 脱网失败