У меня есть NodeJS и проект React. У меня проблема. Я не понял, в чем проблемы. Сначала я хочу показать вам, в чем моя проблема.
на локальном хосте. Я хочу вот так на Герою, но он возвращает меня как следующий
Фотография моей проблемы:
Как вы видите на фотографии, в моем пользовательском объекте при развертывании Heroku есть файл html.
Но когда я запускаю свой проект на локальном хосте, у пользователя появляется объект, исходящий от моего пользователя. go база данных. Express. json () ловит и корректно работает на локальном хосте, но не работает на Heroku. Почему это происходит? В чем моя проблема?
Вот мой сервер. js file:
const express = require("express");
const path = require("path");
const app = express();
const connectDB = require("./config/db");
const PORT = process.env.PORT || 5000;
connectDB();
app.use(express.json());
app.use(express.json({ extended: false }));
app.use(express.static("client/build"));
if (process.env.NODE_ENV === "production") {
app.get("*", (req, res) => {
res.sendFile(path.join(__dirname, "client", "build", "index.html"));
});
}
app.use("/", require("./routes/quizRoute"));
app.use("/users", require("./routes/userRoute"));
app.use("/auth", require("./routes/authRoute"));
app.listen(PORT, () => {
console.log("Server is started on the port " + PORT);
});
Запрос на стороне клиента
//SET AUTH WORK
import axios from "axios";
const setAuthToken = token => {
if (token) {
axios.defaults.headers.common["x-auth-token"] = token;
} else {
delete axios.dafaults.header.common["x-auth-token"];
}
};
export default setAuthToken;
// LOAD USER
const loadUser = async () => {
if (localStorage.token) {
setAuthToken(localStorage.token);
}
try {
const res = await axios.get("/auth");
dispatch({ type: USER_LOADED, payload: res.data });
} catch (err) {
dispatch({
type: AUTH_ERROR,
payload:
"AUTH_ERROR: Token dogrulanamadi veya /auth'a GET isteginde bir sorun var"
});
}
};
enter code here