我正在使用 WebStorm 编写带有 getStaticProps
和 getStaticPaths
的 NextJS:
export const getStaticProps: GetStaticProps<Props, Params> = async ({
params,
}) => {
const productId = params?.pid;
console.log("pd:", productId);
const filePath: string = path.join(
process.cwd(),
"data",
"dummy-backend.json"
);
const jsonData: string = await fs.readFile(filePath, "utf8");
const data: Products = JSON.parse(jsonData);
const product: Product | undefined = data.products.find(
(product) => product.id === productId
);
return {
props: {
loadedProduct: product,
},
};
};
export const getStaticPaths: GetStaticPaths<Params> = async () => {
return {
paths: [
{ params: { pid: "p1" } },
{ params: { pid: "p2" } },
{ params: { pid: "p3" } },
{ params: { pid: "p4" } },
{ params: { pid: "p5" } },
],
fallback: false,
};
};
export default ProductDetailPage;
使用 yarn build
和 yarn start
,我们可以在 NextJS 中使用 id 进行预渲染。
因此,我们认为 NextJS 使用 getStaticProps
& getStaticPaths
。
为什么 WebStorm 会指出这一点?
在执行代码分析时,WebStorm 发出以下警告:
Unused constant getStaticProps
Unused constant getStaticPaths
Unused default export
如果你发现了什么,请告诉我。
GitHub 页面:https://github.com/blackraccoon000/nextjs-pre-rendering/blob/pidUsed/pages/%5Bpid%5D.tsx