[prerender-spa-plugin] Unable to prerender all routes! 内网打包报错(Navigation Timeout Exceeded)

[prerender-spa-plugin] Unable to prerender all routes! 内网打包报错

查看错误详情:
\node_modules\prerender-spa-plugin\es6\index.js在Line 144 添加 console.log('err', err);即可打印详细错误,如下

\  Building for production...err TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded
...
[prerender-spa-plugin] Unable to prerender all routes!

解决:
\node_modules\@prerenderer\renderer-puppeteer\es6\renderer.js Line 114 由如下代码:

await page.goto(`${baseURL}${route}`, navigationOptions);

改为:

await page.goto(`${baseURL}${route}`, {...navigationOptions, timeout: 0});

build即可通过

如何在项目中配置来修改这个问题:

const PrerenderSPAPlugin = require('prerender-spa-plugin');
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer;

...
  new PrerenderSPAPlugin({
    staticDir: path.join(__dirname, 'dist'),
    routes: [ '/', '/about', '/career', '/careerDetail', '/faq', '/fee', '/feeDetail', '/legal' ],
    renderer: new Renderer({
      inject: {
        foo: 'bar'
      },
      // renderAfterDocumentEvent: 'render-event',
      // renderAfterTime: 5000,
      // timeout: 0,
      // navigationParams: {
      //   timeout: 0,
      // },
      navigationOptions: {
        timeout: 0,
      },
      // maxConcurrentRoutes: 1,
    })
  }),
...
posted @   南歌子  阅读(2948)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示