Javascript .env调用不同文件中的变量
我有一个.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
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,它将无法工作。我根据你的答案重新编写了我的代码,它工作起来就像一个符咒。非常感谢。在这种情况下,什么是根级别?