Я новичок в Next JS. Я получаю метаданные сообщения из API в методе Next JS getServerSideProps()
и отображаю его в метатегах HTML.
Он отлично работает на localhost, но когда я загружаю код на сервер Heroku, я не получаю эти метаданные из API. Я не могу понять, почему он не работает на сервере.
Вот пример кода Next JS.
import React from 'react';
import { shape } from 'prop-types';
import Head from 'next/head';
import { httpGet } from '#utils/https';
import API_URLS from '#routes/api_urls';
import Watch from '#views/Watch';
// This gets called on every request
export async function getServerSideProps() {
let url = API_URLS.POST.GET_POST_BY_SLUG;
url = url.replace(/#POST_SLUG#/g, 'string-3');
const post_data = await httpGet(url, {
trace_name: 'get_post_by_slug',
}).then(
(res) => {
return res || {};
},
(err) => {}
);
return { props: post_data || {} };
}
const WatchPage = (props) => {
const { data } = props;
console.log(data);
return (
<>
<Head>
<title>Watch Page</title>
<meta name="description" content={data.metaDescription || ''} />
<meta name="keywords" content={data.metaKeywords || ''} />
<meta name="author" content={data.metaAuthor || ''} />
</Head>
<Watch />
</>
);
};
/**
* Define component props
*/
WatchPage.propTypes = {
data: shape({}),
};
export default WatchPage;
Вот ответ сервера localhost в консоли:
введите описание изображения здесь
Почему я не получаю метаданные из API и не отображаю их в метаданных HTML на реальном сервере?