Sapper 服务器端渲染 (SSR) 在 Zeit Now v2 上不起作用



我从 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 的方式是什么?

感谢帮助我的@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-sapperv0.39.0 中修复。

最新更新