📜  如何访问 API 端点中的 ExpressJS 环境变量?

📅  最后修改于: 2022-05-13 01:56:43.931000             🧑  作者: Mango

如何访问 API 端点中的 ExpressJS 环境变量?

使用环境值允许人们从软件/应用程序本身外部配置软件/应用程序中的值。这确保了不必在代码本身中存储敏感数据。它还有助于在不重新部署应用程序的情况下重新配置应用程序中的设置。

在本文中,我们将使用 Node 和 Express 创建一个 RESTful API,它将从 .env 文件中获取环境变量并将其值作为响应返回。

先决条件:

  1. Node.js是一个开源和跨平台的运行时环境,用于在浏览器之外执行JavaScript代码。
  2. Express.js是一个小型框架,它位于 Node.js 的 Web 服务器功能之上,以简化其 API 并添加有用的新功能。

按照以下步骤访问 API 端点中的环境变量:

第 1 步:我们必须使用 Node Package Manager 初始化一个新项目。我们可以通过选择所有默认选项来完成设置。

npm init

第 2 步:我们必须安装 express 和 .env 包。

npm install express dotenv --save

第 3 步:创建文件 index.js,此应用程序的入口点将是 index.js 文件。我们所有的业务逻辑都会放在这里。 REST API 将只包含一个路由,它将返回我们要设置的环境变量。

Javascript
const express = require('express');
  
// Initialize app
const app = express();
  
// Assign route
app.use('/', (req, res, next) => {
  res.send('Hello World');
});
  
// Start server
app.listen(5000, () => {
  console.log('App listening on port 5000');
});


Javascript
const dotenv = require('dotenv');
const express = require('express');
  
// Set path to .env file
dotenv.config({ path: './.env' });
  
// Initialize app
const app = express();
  
// Assign route
app.use('/', (req, res, next) => {
  const name = process.env.MY_NAME;
  res.status(200).json({ name });
});
  
// Start server
app.listen(5000, () => {
  console.log('App listening on port 5000');
});


第 4 步:创建 .env 文件。我们必须创建包含 MY_NAME 环境变量的 .env 文件

MY_NAME=Geeksforgeeks

项目结构:现在,我们将拥有以下文件结构。

项目文件结构

加载环境变量:

接下来,我们必须在 index.js 文件中导入 .env 包。

const dotenv = require('dotenv');

现在,我们可以通过设置 .env 文件的路径并从中加载变量来配置它。

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

我们现在可以使用 方法访问 index.js 文件中的环境变量

process.env.VARIABLE_NAME

在这种情况下,它将是

process.env.MY_NAME

最终代码:

Javascript

const dotenv = require('dotenv');
const express = require('express');
  
// Set path to .env file
dotenv.config({ path: './.env' });
  
// Initialize app
const app = express();
  
// Assign route
app.use('/', (req, res, next) => {
  const name = process.env.MY_NAME;
  res.status(200).json({ name });
});
  
// Start server
app.listen(5000, () => {
  console.log('App listening on port 5000');
});

输出:

"name":"Geeksforgeeks"