[英]NextJS: Initialize an object once
我使用 NextJS 生成静态页面列表。
所有页面都需要一个大的静态 Javascript 对象,它需要几分钟来初始化(它包含解析许多其他文件的结果)。
const bigData = initializeBigData(); // <- called for every page, instead once
export async function getStaticProps({ params }) {
return { bigData[params.slug] }; // ...
}
不幸的是,我找不到一次初始化这个数据对象的方法。 相反,每次创建页面时都会运行缓慢的initializeBigData()
,这使得构建非常缓慢。
我尝试了以下几件事:
npm run build --threads=1
所有这些都没有改变,在构建站点时为每个页面调用长initializeBigData()
。
如果可能,我不想使用自定义服务器。
如何在 NextJS 项目的构建过程中只初始化一次对象?
这里有相关讨论https://github.com/vercel/next.js/discussions/15054
但我只会使用:
if (!global.font) {
global.font = fs.readFileSync("fonts/Somefont.ttf");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.