Next.js CLI - 运行 在本地开发时是否可以预先构建某些路由?

Next.js CLI - is it possible to pre-build certain routes when running dev locally?

我所在的组织拥有基于 Next.js 构建的企业应用程序,随着它的发展,本地开发体验一直在下降。主要问题是我们的页面在加载时多次调用 /api 路由,而这些是在您 运行 yarn dev 时懒惰构建的,因此您总是被迫坐下来等待发生这种情况时使用浏览器。

我一直在想,如果我们能够在 yarn dev 为 运行 时立即预构建所有 /api 路由,那可能会更好,所以我们' d 在打开浏览器时获得更好的体验。我查看了 CLI docs,但似乎 dev 的唯一选项是 -p(端口)和 -H(主机)。我也不认为 运行ning yarn build 首先会起作用,因为我假设构建和开发命令之间的构建输出完全不同。

有人知道这是否可行吗?感谢您的帮助,谢谢!

我认为没有办法预先构建它们,但您可以告诉 Next 在丢弃和重建之前将它们保留多长时间。查看 onDemandEntries 文档。大约一年前,我们遇到了类似的问题并在 next.config.js:

中为一个大项目解决了这个问题
const { PHASE_DEVELOPMENT_SERVER } = require("next/constants")

module.exports = (phase, {}) => {
  let devOnDemandEntries = {}
  if (phase === PHASE_DEVELOPMENT_SERVER) {
    devOnDemandEntries = {
      // period (in ms) where the server will keep pages in the buffer
      maxInactiveAge: 300 * 1000,
      // number of pages that should be kept simultaneously without being disposed
      pagesBufferLength: 5,
    }
  }
  return {
    onDemandEntries,
    ...
  }
}