为啥下一个 js 在我构建时会在第一次加载时加载所有页面

Posted

技术标签:

【中文标题】为啥下一个 js 在我构建时会在第一次加载时加载所有页面【英文标题】:why nextjs loads all pages at first load when i build为什么下一个 js 在我构建时会在第一次加载时加载所有页面 【发布时间】:2020-04-10 19:17:12 【问题描述】:

我正在为我的新网站使用 nextJS,但网站的 SEO 和速度对我来说非常重要。 我正在尝试做的是防止加载额外的资源文件,而我不需要它们。例如,当我在主页时,我不需要在后台加载常见问题或关于页面的资源。 无论如何我可以防止这些额外的负载出现在我的网站上吗?

提前谢谢你

【问题讨论】:

我认为你应该看看 nextjs 社区的延迟加载和缓存概念。 【参考方案1】:

afaik,next.js 正在为从给定页面链接的页面预取 js 包。要禁用预取,您可以使用 Linkprefetch=false

<Link href="/faq" prefetch=false>
  <a>FAQ</a>
</Link>

More on this in the docs

【讨论】:

以上是关于为啥下一个 js 在我构建时会在第一次加载时加载所有页面的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 iPhone 应用程序的发布版本在安装后第一次运行时会在设备上崩溃?

为啥 .NET 运行时会在我的字符串中添加下划线?

具有延迟加载和下载图像的 ListView [重复]

为啥我的 TabBar 按钮在我第一次加载视图控制器时被禁用?

js引入时第一次的为啥没加载,你刷新一下他就加载了?

如果我使用延迟加载模块,我的 Angular 应用程序 main.bundle.js 文件大小会在构建时减小