【问题标题】:SSR rendering exceeded timeout, fallbacking to CSR for (all routes)SSR 渲染超时,为(所有路由)回退到 CSR
【发布时间】:2021-02-11 20:38:02
【问题描述】:

我创建了一个新的 Angular 项目并运行了以下命令: ng add @spartacus/schematics --baseUrl https://spartacus-demo.eastus.cloudapp.azure.com:8443/ --baseSite=electronics-spa --ssr。之后,我运行命令npm run dev:ssr,打开http://localhost:4200,发现如下问题:

任何想法如何纠正这个错误并使应用程序运行 SSR 而不是 CSR?我尝试访问的每条路线都会显示此警告消息。

(https://github.com/SAP/spartacus/issues/10638)

【问题讨论】:

    标签: spartacus-storefront


    【解决方案1】:

    这是因为 Spartacus 3.0 及更高版本中提供了 SSR 优化功能。

    您可以在 server.ts 中延长超时时间(将第二个参数传递给 NgExpressEngineDecorator.get 方法)或将其设置为 0,因此它根本不会回退到 CSR。这是一个例子:

    const ngExpressEngine = NgExpressEngineDecorator.get(engine, { timeout: 0 });
    

    您可以使用 API 文档来获取可用选项的列表: https://sap.github.io/spartacus/interfaces/SsrOptimizationOptions.html

    此外,有关此功能的扩展文档正在编写中,应该很快就会提供。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,但更改超时没有帮助!

      根本原因是:Commerce Cloud的证书无效,因为它是自分配的。 因为我使用的是本地商务,URL:localhost://9002

      解决方法是:

      将以下配置添加到 package.json

      "scripts": {
          "dev:ssr": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 ng run mystore:serve-ssr",
      },
      [...]
      "devDependencies": {
          [...]
          "cross-env": "^7.0.0"
      }
      

      然后运行以下启动斯巴达克斯

      yarn dev:ssr
      

      【讨论】:

        猜你喜欢
        • 2020-03-05
        • 2023-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多