我已经研究这个问题好几天了,我不明白为什么我在Heroku上从我的服务器应用程序请求信息时会遇到这个CORS问题。查看下面的代码以及git repo的链接。您将看到我在依赖项下的JSON文件中有CORS包。我需要更新节点或其他东西吗?这是一个dynos的问题(我几乎不知道什么是dynos,如果我需要他们为这个简单的项目)?可能是Proc文件或.env问题?我在.gitignore中有node_modules,但是Heroku会自动安装package-lock.json中的dependecies,对吗?我甚至使用了cli npm i来确定。我被困住了。任何帮助都将不胜感激:
git repo server.js:
////////////////////
// DEPENDENCIES
///////////////////
require("dotenv").config();
const express = require('express'); //server framework
const cors = require('cors'); //cross origin resource sharing to access data from foreign origins
/////////////////////
// JSON FILES
////////////////////
const projects = require("./projects.json");
const about = require("./about.json");
const tutorials = require("./tutorials.json");
// Create application object
const app = express();
const PORT = process.env.PORT || 4000;
//////////////
// MIDDLEWARE
//////////////
app.use(cors());
//////////////
// ROUTES
//////////////
//home route for api testing
app.get("/", (req, res) =>{
res.send("Hello World")
});
//route for retrieving projectws
app.get("/projects", (req, res)=>{
//send projects via JSON
res.json(projects);
});
//route for retrieving about info
app.get("/about", (req, res) =>{
//send about via JSON
res.json(about);
});
//route for retrieving tutorial info
app.get("/tutorials", (req, res)=>{
//send about via JSON
res.json(tutorials);
});
/////////////
// PORT LISTENER
////////////
app.listen(PORT, () => console.log("They're listening on port", PORT));
字符串
1条答案
按热度按时间zfciruhq1#
我发现了这个问题。Heroku需要订阅其Web服务,因此服务器应用程序从未运行。我切换到render.com,它现在工作正常。