,可以通过使用Next.js的动态路由和数据获取功能来实现。
首先,需要在Next.js中创建一个动态路由页面,例如[slug].js
。在该页面中,可以通过getStaticPaths
函数来定义动态路由的路径参数,以及通过getStaticProps
函数来获取动态数据。
// [slug].js
import Head from 'next/head';
export default function DynamicPage({ title }) {
return (
<>
<Head>
<title>{title}</title>
</Head>
<h1>{title}</h1>
{/* 页面内容 */}
</>
);
}
export async function getStaticPaths() {
// 定义动态路由的路径参数
const paths = [
{ params: { slug: 'page1' } },
{ params: { slug: 'page2' } },
// 其他路径参数
];
return {
paths,
fallback: false, // 如果为true,则允许使用未在paths中定义的路径参数
};
}
export async function getStaticProps({ params }) {
// 根据路径参数获取动态数据
const { slug } = params;
let title = '';
// 根据slug获取对应的标题
if (slug === 'page1') {
title = '动态页面1';
} else if (slug === 'page2') {
title = '动态页面2';
}
return {
props: {
title,
},
};
}
在上述代码中,通过getStaticPaths
函数定义了两个动态路由的路径参数,分别是page1
和page2
。在getStaticProps
函数中,根据路径参数获取对应的标题,并通过props
传递给页面组件。
在头部页面中,可以使用<Head>
组件来设置动态标题。在上述代码中,通过<Head>
组件将动态标题设置为页面的标题。
这样,在导出的静态网站中,每个动态页面都会有对应的动态标题。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云