簡體   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