【问题标题】:Undefined process.env variable with dotenv and nodejs带有 dotenv 和 nodejs 的未定义 process.env 变量
【发布时间】:2019-02-03 10:46:33
【问题描述】:

我的 dotenv 包有问题。

我的应用程序文件夹:

 |_app_folder
      |_app.js
      |_password.env
      |_package.json

我当然安装了 dotenv,但是当我尝试记录一个 process.env 变量时,结果总是未定义,请你帮帮我吗?

password.env:

//password.env 
CLIENT_ID=xxxxxxxx

app.js:

//app.js
const express = require('express');
const app = express();
const Twig = require("twig");

//Require dotenv
require('dotenv').config();

// Setting the Twig options
app.set("twig options", {
    allow_async: true, 
    strict_variables: false
});

app.get('/', function (req, res) {
  //Trying to log it
  console.log(process.env.CLIENT_ID);
  //
  res.render('index.twig', {
    date : new Date().toString()
  });
});

app.get('/instagram',function(req,res){
  // Building the URL
  let url = 'https://api.instagram.com/oauth/authorize/?client_id=';
  // Redirect to instagram for oauth 
  res.redirect(url);
})

app.listen(3000, function () {
  console.log('Running');
})

感谢您的宝贵时间。

【问题讨论】:

    标签: javascript node.js npm environment-variables


    【解决方案1】:

    我有一段时间遇到同样的问题,结果你只需要将 .env 文件放在目录的根目录(最顶层)。

    我知道这篇文章已经过时了,但我只是想确保没有人再为这样一个简单的任务而苦恼。

    【讨论】:

      【解决方案2】:

      当使用 import 而不是 require 时。 -

      您可以使用 -r (require) 来预加载 dotenv。您不需要在应用程序代码中要求和加载 dotenv。

       $ node -r dotenv/config app.js
      

      【讨论】:

        【解决方案3】:

        默认情况下,dotenv 包只加载一个名为.env 的文件,如果你想加载另一个文件,你需要指定路径

        require("dotenv").config({ path: "path/to/file" })
        

        资源:

        https://www.npmjs.com/package/dotenv

        【讨论】:

        • 谢谢你,我不知道,我用这个替换了require:require("dotenv").config(path.join(__dirname,'password.env'));但是还是不行
        • 尝试记录您正在创建的路径并检查它是否正确
        • 我已经做到了,这是一件好事:/home/thomas/instagram-oauth-login/password.env
        • 没问题,我搞砸了!对不起
        • 作为补充,我遇到了一个奇怪的情况,即 .env 文件也没有加载,我不得不添加 require("dotenv").config( {path:".env"})
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-02
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 2020-09-28
        • 2018-06-25
        • 2019-08-20
        相关资源
        最近更新 更多