Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .env调用不同文件中的变量_Javascript_Node.js_Dotenv - Fatal编程技术网

Javascript .env调用不同文件中的变量

Javascript .env调用不同文件中的变量,javascript,node.js,dotenv,Javascript,Node.js,Dotenv,我有一个.env文件,它存储两个不同的变量: x=123 y=456 在同一文件夹中,我还有三个其他文件,下面有一棵树: /folder /.env /config.js /app_setup.js /match_algo.js 在我的config.js文件中,我正在读取.env文件中的变量并将其导出: const dotenv = require('dotenv'); const cfg = {}; dotenv.config({path: '.env'}); c

我有一个.env文件,它存储两个不同的变量:

x=123
y=456
在同一文件夹中,我还有三个其他文件,下面有一棵树:

/folder
   /.env
   /config.js
   /app_setup.js
   /match_algo.js
在我的config.js文件中,我正在读取.env文件中的变量并将其导出:

const dotenv = require('dotenv');
const cfg = {};
dotenv.config({path: '.env'});

cfg.port = process.env.PORT;
cfg.x = process.env.x;
cfg.y = process.env.y;

module.exports = cfg;
在app.setup.js文件中,我使用变量x from.env:

var firebase = require("firebase");
const Config = require('./config');

var config = {
  apiKey: Config.x
};
firebase.initializeApp(config);

module.exports = firebase;
在match_algo中,我使用变量y from.env执行其他操作:

const Router = require('express').Router;
const Config2 = require('./config');
const router = new Router();

exports.return_match_uid = function return_match_uid() {
  var variable2 = Config2.y;
.....

显然,match_algo中的变量y没有正确读取。我没有发现我的代码有任何问题

当您想要给出dotenv config的路径时,需要给出正确的路径。不仅仅是.env。看到这个了吗

const dotenv = require('dotenv');
const cfg = {};
dotenv.config({path: './folder/.env'});

cfg.port = process.env.PORT;
cfg.x = process.env.x;
cfg.y = process.env.y;

module.exports = cfg;

希望这有帮助

这个.env文件和config.js在同一个文件夹中,我不认为这是necessary@IsaakNewton我想当.env位于根级别时,它就会工作。你的情况不是这样。此外,您还显式地使用了path和,因为您说的是.env,而不是它所在的位置。它位于/文件夹中,因此您需要一个路径。我很快就为此创建了一个应用程序。你可以在这里访问它。目前,它有正确的路径,因此它可以工作,如果你将路径更改为.env,它将无法工作。我根据你的答案重新编写了我的代码,它工作起来就像一个符咒。非常感谢。在这种情况下,什么是根级别?