Я работаю над проектом React, и после запуска описанной здесь проблемы: URL-адреса React-маршрутизатора не работают при обновлении или записи вручную Я реализовал решение "Catch-All", предложенное вэта ссылка.
app.use("/", express.Router());
app.get("*", function (req, res) {
res.sendFile(path.resolve(__dirname + "/../build/index.html"));
});
Это решило мою проблему с обновлением, но прервало все мои fetch
звонки.Например:
fetch("http://localhost:3000/api/login", {
method: "GET",
headers: {
"username": user.value,
"password": pass.value,
}
})
.then(response => response.json())
.then(function(data) {
console.log(data)
})
Что работает нормально, если я закомментирую вышеприведенные строки app.use
и app.get
, дает мне ошибку:
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
Я думаю, что обещание вернулосьresponse.json()
отклоняется, основываясь на некоторой отладке console.log
, которую я сделал.Однако, похоже, что response
одинаково независимо от того, закомментирую ли я эти строки.Поэтому я не уверен, почему это не получится.