javascript - 获取内部服务器错误(对我来说与环境变量有关)
问题描述
就我而言,每次当我指定正确拼写的环境变量时,我每次向 heroku 推送时,我都会收到内部服务器错误。我知道是这种情况,因为每当我删除“process.env.MyVariable”并将其替换为实际字符串时,代码在部署时都能完美运行。不确定我的措辞是否错误或需要错误的文件。下面是我的服务器代码
require("dotenv").config()
const express = require("express");
const ejs = require("ejs");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const session = require("express-session");
const passport = require("passport");
const passportLocalMongoose = require("passport-local-mongoose");
const alert = require("alert");
const ClientJWTBearerStrategy = require("passport-oauth2-jwt-bearer").Strategy;
const app = express();
app.use(express.static("public"));
app.set("view engine", "ejs");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(
session({
secret: process.env.SECRET,
resave: false,
saveUninitialized: false,
})
);
app.use(passport.initialize());
app.use(passport.session());
connectDB = async () => {
await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false,
});
console.log("MongoDB Connected");
};
connectDB()
解决方案
感谢您的回答,我必须在 heroku 中设置我的 heroku 环境变量。转到heroku设置并设置配置变量或使用终端
推荐阅读
- c++ - Swift:不能从捕获 conte 的闭包中形成 AC 函数指针
- c# - 使用 Dot Net Standard 中的旧版库并调用 Dot Net System.Drawing
- shell - 使用 Shell 脚本获取文件大小的问题
- java - Spring Security permitAll for root 但保护其他所有内容
- python - 如何在 numpy 中向矩阵添加列
- java - 在 Android Studio 中连接 mysql 数据库时遇到此错误
- mapbox - 带有弹出值和路由总和的行
- c# - 对来自 for 循环 C# 的结果进行分组
- python - Kivy:其他小部件不适用于 TreeVIew ,小部件不响应点击
- c# - 无法在水晶报表c#中打印自定义纸张大小