首页 > 解决方案 > 为什么 .env 文件存在时 dotenv 返回未定义?

问题描述

我有以下问题。“.env”文件不存在。当我解压缩 .env 文件并尝试从中读取参数时,我收到“未定义”。当我再次运行我的应用程序并且 .env 文件存在时,它运行良好。为什么解压缩后文件存在时会收到“未定义”?

I have following function:

function envRead(){
require ('dotenv').config({path:'c:/ImageDISM/.env'});

const fi = process.env.FOLDER_IMAGES;
const fd = process.env.FOLDER_DATA;
const fn = process.env.FILE;
const dbn = process.env.DB;

return {
        fi,
        fd,
        fn,
        dbn
        };
}

module.exports = {envRead}

part of app.js
.
.
.
console.log(fileArgs[1]);

extract(`c:\\ImageDISM\\${fileArgs[1]}`, {dir:"c:\\ImageDISM/"}, function (err) {
   // handle err
   console.log(err);
})

sleep(10000).then(() => {
    fs.access("c:/ImageDISM/.env", fs.constants.F_OK | fs.constants.W_OK, (err) => {
      if (err) {
        console.error(
          `"c:/ImageDISM/.env" ${err.code === 'ENOENT' ? 'does not exist' : 'is read-only'}`);
      } else {
        console.log("c:/ImageDISM/.env exists, and it is writable");
      }

          fi = resultenvr.fi;
          fd = resultenvr.fd;
          fn = resultenvr.fn;
          dbn = resultenvr.dbn;
         console.log(`image adresare: ${fi}`);
         console.log(`cilovy adresar: ${fd}`);
         console.log(`jmeno souboru: ${fn}`);
         console.log(`database: ${dbn}`);
         });
})
.
.

标签: node.jsundefineddotenv

解决方案


推荐阅读