Nextjs dynamic_server_usage ошибка при использовании GenerateMetAdataJavascript

Форум по Javascript
Ответить
Anonymous
 Nextjs dynamic_server_usage ошибка при использовании GenerateMetAdata

Сообщение Anonymous »

I have migrated my nextjs website from pages router to app router and I am getting a DYNAMIC_SERVER_USAGE error when I attempt to add page metadata using the generateMetadata function.
I know that export const dynamic = "force-dynamic"; solves the error but I want to generate all of the pages at build time Так что это не вариант.
Почему GenerateMetAdata вызывает эту ошибку? Каждая ссылка, которую я могу найти, относится к страницам, которые не могут быть сгенерированы статически, но все страницы построены хорошо, когда я удаляю GenerateMetAdata , и я не вызываю каких-либо функций внутри GenerateMetAdata .
Спасибо
export const dynamic = "force-static";

import fs from "fs";
import path from "path";
import { getPostData, IPost } from "../../../lib/posts";
import Date from "../../../components/date";
import { Metadata } from "next";
const postsDirectory = path.join(process.cwd(), "src/posts");
interface IPageProps {
id: string;
}

export async function generateMetadata(): Promise {
return {
title: "title",
description: "description",
};
}

export default async function Page({
params,
}: {
params: Promise;
}): Promise {
const { id } = await params;
const { title, date, contentHtml } = await getPostData(id);

return (


{title}



className="text-mob md:text-lg lg:text-lg"
dangerouslySetInnerHTML={{ __html: contentHtml }}
/>


);
}

export async function generateStaticParams(): Promise {
const fileNames = fs.readdirSync(postsDirectory);
return fileNames.map((fileName) => {
return {
params: {
id: fileName.replace(/\.md$/, ""),
},
};
});
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... temetadata
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»