Поместите свой код в блок try/catch
и, вероятно, вы получите такую ошибку: res.redirect не является функцией . Какую следующую версию вы используете? Вы уверены, что в вашей версии поддерживается помощник redirect response? (я думаю, что это доступно только в последней версии - 9.5)
Кстати, вы все равно можете использовать writeHead
вместо:
res.writeHead(302, {
Location: "https://youtube.com",
})
res.end()
Edit
Если вы хотите перенаправить в свой прокси-сервер, вы можете сделать что-то вроде этого:
Далее. js привет конечной точки. js localhost: 3000
export default (req, res) => {
res.json({url : "www.youtube.com"})
};
Прокси localhost: 4000
app.get("/test", (req,res) => {
Axios.get('http://localhost:3000/api/hello').then((result)=>{
let {url} = result
if(url){
res.redirect(url)
}
})
});
Edit2
Я никогда не использовал режим предварительного просмотра, но из того, что я понял, режим предварительного просмотра просто утилита для переопределения генерации sati c и выборки данных с вашего cms во время запроса вместо времени сборки, а не прокси-сервера. Изображение, с которым вы создаете новое сообщение в своей безголовой cms, вы хотите предварительно просмотреть свое новое сообщение в блоге, но затем эти данные будут отображаться только во время сборки, в режиме предварительного просмотра вы можете переопределить это и получить предварительный просмотр своего сообщения, чтобы страница была Оформляется по запросу в срок. Вы можете увидеть предварительный просмотр URL-адреса предварительного просмотра или встроить URL-адрес в iframe (я думаю). Обратите внимание, что это имеет смысл только в том случае, если вы предварительно визуализируете свою страницу с getStaticProps
. С getServerSideProps
вам не нужен предварительный просмотр (вы уже будете получать данные по каждому запросу), но ваши посетители будут получать контент каждый раз и в этом нет необходимости, поэтому вы можете использовать getStaticProps
вместе с предварительным просмотром api только для просмотра вашего сообщения. черновик перед публикацией. Так что я думаю, что сценарий отличается от вашего исходного вопроса.