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

Javascript 在多个JS文件中使用dotenv for API键,javascript,node.js,file,dotenv,Javascript,Node.js,File,Dotenv,我是网络编程新手,但不是一般的编程。我使用node.js创建了一个网站,使用dotenv从github隐藏API信息,在理解某些东西时遇到了一些困难 My.env文件位于根目录中,包含: GOOGLE_CALENDAR_API_KEY=key_value 我使用app.js文件来设置和运行我的服务器,并发送index.html文件 //jshint esversion:6 const https = require('https'); const bodyParser = require(&q

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

My.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;
.
.
.
但我得到一个错误“未捕获引用错误:未定义进程”

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


任何帮助都将不胜感激

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

您必须添加
require(“dotenv”).config()

看起来您正在尝试访问客户端/前端上的流程变量。您无法从客户端浏览器或计算机访问这些变量

能否共享指向github repo的链接?看起来您已经根据您的PostMy github正确地设置了所有内容。我尝试过了,但是出现了一个错误,说“require”未定义。我认为您正在客户端javascript上使用这个。而NodeJs api在客户端不起作用。那么,你是说我需要在服务器运行的app.js文件中使用api,而不是在客户端运行的custom.js文件?是的,你只能访问node.js应用程序范围内的流程变量