【问题标题】:Sapper server-side rendering (SSR) doesn’t work on Zeit Now v2Sapper 服务器端渲染 (SSR) 在 Zeit Now v2 上不起作用
【发布时间】:2020-05-24 14:23:58
【问题描述】:

我从https://github.com/beyonk-adventures/now-sapper-demo 获取源代码,并使用now 将其部署到Zeit Now v2 上。

https://test-v2-qa.tomsoderlund.now.sh/blog

你看到/blog返回500错误:

request to http://127.0.0.1:0/blog.json failed, reason: connect ECONNREFUSED 127.0.0.1

但是https://test-v2-qa.tomsoderlund.now.sh/blog.json 返回有效的 JSON,那么与请求 URL 的方式有关吗?

【问题讨论】:

    标签: svelte vercel sapper


    【解决方案1】:

    感谢帮助我的@thgh:https://github.com/beyonk-adventures/now-sapper-demo/issues/5#issuecomment-583779955

    对于有同样问题的其他人;我做了这个辅助函数:

    export default function zeitNowUrl (path, host = '') {
      const baseUrl = (!process.browser && process.env.NOW_REGION)
        ? `https://${host}`
        : ''
      return `${baseUrl}/${path}`
    }
    

    ...然后在每个页面中:

    <script context="module">
      import zeitNowUrl from '../../lib/zeitNowUrl'
    
      export function preload({ host, params, query }) {
        return this.fetch(zeitNowUrl('blog.json', host)).then(r => r.json()).then(posts => {
          return { posts }
        })
      }
    </script>
    

    更新

    此问题现已在 now-sapper v0.39.0 中修复。

    【讨论】:

      猜你喜欢
      • 2018-08-27
      • 1970-01-01
      • 2021-11-01
      • 2018-06-05
      • 2023-02-01
      • 2023-03-18
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      相关资源
      最近更新 更多