I have a project on Next.js framework and the problem is that First Load JS shared by all pages is rather heavy.
I want to know what possible aspects I can take into consideration to reduce it and also know if I'm doing something wrongly.
my next js version : ^10.0.3
information relating to pages while building :
我建议安装@next/bundle-analyzer https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer更好地了解您正在导入哪些依赖项以及哪些依赖项会导致该文件大小。这可以帮助识别任何可能被删除的未使用或不必要的库。
您还可以考虑使用代码分割来减少应用程序初始负载的包。这可以通过使用延迟加载代码来实现dynamic import() https://v8.dev/features/dynamic-import and/or next/dynamic https://nextjs.org/docs/advanced-features/dynamic-import.
此外,Next.js 在其文档中还提到了其他工具,您可以使用这些工具来了解可以向您的包添加多少依赖项。
为了减少发送到浏览器的 JavaScript 数量,您可以使用以下工具来了解每个 JavaScript 包中包含的内容:
-
进口成本 https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost– 在 VSCode 中显示导入包的大小。
-
包恐惧症 https://packagephobia.com/– 查找向项目添加新的开发依赖项的成本。
-
捆绑恐惧症 https://bundlephobia.com/- 分析依赖项可以增加包大小多少。
-
Webpack 捆绑分析器 https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer– 使用交互式、可缩放的树形图可视化 webpack 输出文件的大小。
-
bundlejs https://bundlejs.com/- 一个在线工具,可快速捆绑和缩小您的项目,同时查看压缩的 gzip/brotli 捆绑包大小,所有这些都在浏览器上本地运行。
— Next.js,投入生产,减少 JavaScript 大小 https://nextjs.org/docs/pages/building-your-application/deploying/production-checklist#reducing-javascript-size
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)