svelte - 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-sapper
v0.39.0 中修复。
推荐阅读
- c++ - 寄存器计算管道
- azure-devops - 用于访问项目队列的 VSTS API?
- sql-server - 按单行记录分组显示
- django-views - Django:在 ClassBased 视图中将 min 和 max 属性传递给 datepicker
- rpmbuild - 当源 tar 目录与 name-version 不对应时使用 rpmbuild
- html - Css - style input checkbox with js interaction
- java - 第一个连接org.hibernate.exception.JDBCConnectionException:无法获取JDBC Connection
- apache-kafka - 向 kafka 流状态存储中断添加名称
- excel - 从某个索引处的单元格中提取子字符串(不同的行长,多行)
- php - 无法验证 Slack 对话框字段。response_url 调用总是失败