繁体   English   中英

在 Node Express App 的不同 js 文件中使用环境变量

[英]Use Environment Variables in different js File in Node Express App

我想在 Express 应用程序的不同 js 文件中使用环境变量。 我尝试了很多东西,google了很多,但没有成功。

我的设置:我有一个带有 index.js 的 Express 应用程序,用于提供带有 javascript 和 css 文件的 html 页面。 在那里我导入了模块 dotenv 并想在 .env 文件中使用环境变量。 打印出 index.js 中的变量正在工作。 我的 index.js 的代码如下所示:

    const express = require("express");
    const app = express();
    const path = require("path");
    const router = express.Router();
    const dotenv = require("dotenv").config();
    
    app.use(express.static("."));

现在我想使用我的 JavaScript 文件 (main.js) 中的变量。 我尝试了不同的东西......

  • 使用exports. -> 我无法导入变量,因为 main.js 不是模块。 -> 如果我将 main.js 制作成一个模块,我包含的函数将不起作用。
  • 使用 requireJS -> 这不成功。 可能我做错了什么...
  • 使用const dotenv = require("dotenv"); 在 main.js -> 不工作,因为“需要”没有定义..
  • 使用 main.js 中的变量 process.env.user ->“进程未定义”

我认为我服务和使用快递的方式是错误的,但我不知道如何改变以及改变什么,也没有找到捷径。

总结:我为一个带有快速应用程序的网站提供服务,并希望使用环境变量来不发布访问密钥。 我还想稍后通过构建 docker 容器来使用这些环境变量。 我不知道如何使用或将环境变量从 index.js 导出到另一个 js 文件,我的网站 function 所在的位置。

这是我的第一篇文章。 如果我没有说清楚,如果你告诉我你需要什么来帮助我,我会很高兴。

尝试像这样将 dotenv require 语句放在顶部,

    const dotenv = require("dotenv").config();
    const express = require("express");
    const app = express();
    const path = require("path");
    const router = express.Router();
    
    app.use(express.static("."));

这应该有效。

此外,为了使用环境变量,您只需要这样做,

process.env.VARIABLE_NAME

如果我没有说清楚,请告诉我,我也是和你一样的初学者:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM