[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,
    })
  }),
...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM