在多个 JS 文件中对 API 键使用 dotenv

Using dotenv for API keys in multiple JS files

我是网络编程的新手,但不是一般的编程。我使用 node.js 创建网站并使用 dotenv 隐藏 API 信息表单 github 并且在理解某些内容时遇到了一些困难。

我的 .env 文件在根目录中,包含:

GOOGLE_CALENDAR_API_KEY=key_value

我使用 app.js 文件来设置和 运行 我的服务器并发送 index.html 文件。

//jshint esversion:6
const https = require('https');
const bodyParser = require("body-parser");
const express = require("express");
require("dotenv").config();

const app = express();

app.use(express.static("public"));

app.get("/", function(req, res) {
res.sendFile(__dirname + "/index.html");
});

app.listen(5000, function(req, res) {
    console.log("Listening on port 5000.");
});

然后我使用另一个名为“custom.js”的脚本文件来 运行 我的大部分 webapp。在内部,我尝试使用 process.env 来获取 API 键。

window.onload = function()
{
  const googleAPIkey = process.env.GOOGLE_CALEDAR_API_KEY;
.
.
.

但我收到错误消息“Uncaught ReferenceError: process is not defined”

我也曾尝试将 require("dotenv").config() 行移动到 custom.js 文件,但失败了。尝试将信息从一个文件访问到另一个文件时,我做错了什么,但我不明白是什么。

如有任何帮助,我们将不胜感激!

据我了解,您试图从客户端浏览器访问 node.js 应用程序的进程变量,但这是不可能的。流程变量只能在 node.js 应用程序的范围内访问,而不能在您 运行 您的客户端所在的浏览器中访问。

您还必须在第二个脚本文件中添加 require("dotenv").config();

您似乎正在尝试访问客户端/前端的 Process 变量。您无法从客户端浏览器或机器访问这些变量