react와 nodejs를 통해서 리액트에 server.js를 합쳤습니다. server.js에서는 콘솔창에 mongdb로부터 받아온데이터가 확인가능한데
리액트에서 axios를 통해 데이터를 출력하니 콘솔창에 아무것도 나오지않습니다. 뭔가 빠트린걸까요?
React파일:
import axios from "axios";
axios
.get("http://localhost:8080/list")
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
server.js 파일:
const express = require("express");
const path = require("path");
const app = express();
const mongoose = require("mongoose");
app.use(express.json());
var cors = require("cors");
app.use(cors());
const { MongoClient } = require("mongodb");
let db;
const url =
"mongodb+srv://아이디:비밀번호@cluster0.dw2lgdv.mongodb.net/?retryWrites=true&w=majority";
new MongoClient(url)
.connect()
.then((client) => {
console.log("DB연결성공");
db = client.db("forum");
})
.catch((err) => {
console.log(err);
});
app.listen(8080, function () {
console.log("listening on 8080");
});
app.use(express.static(path.join(__dirname, "shop/build")));
app.get("/list", async (요청, 응답) => {
let result = await db.collection("post").find().toArray();
console.log(result);
});
app.get("/", function (요청, 응답) {
응답.sendFile(path.join(__dirname, "/shop/build/index.html"));
});
app.get("*", function (요청, 응답) {
응답.sendFile(path.join(__dirname, "/shop/build/index.html"));
});