hexo-server 偶尔内容空白和内容截断,导致 hexo-browsersync 插件热更新失败

运行 hexo-server ,文章太长时,有时会出现页面内容截断,或出现内容空白。

如果有添加 hexo-browsersync 自动刷新,也会导致页面自动刷新失效!问题如下:

问题一:内容截断,如图

问题二:内容空白,如图

问题原因

hexo-server 返回的 Content-Length 是错的, 比实际内容短,导致浏览器截断内容。

解决办法

hexo-server配置文档 有一项 compress 配置,一般服务器对内容压缩都会使用流式压缩,即不会使用 Content-Length 预设页面的长度。经测试,可解决该问题,解决方法:根目录配置文件 _config.yml 添加如下代码:

1
2
3
4
5
6
7
8
# ...

# hexo-server配置
server:
# 此配置解决偶尔实时刷新无效和长文章被截断问题
compress: true

# ...

其他问题

2020年4月26日补充:文章空白还有可能其他问题导致,参考文章 hexo server 保存文章时候内容空白问题

参考文章

https://kleshwong.com/blog/2018/11/21/How-to-make-hexo-browsersync-working-by-solving-hexo-server-rendering-incomplete-page/

https://github.com/hexojs/hexo-browsersync/issues/15

本文由 linx(544819896@qq.com) 创作,采用 CC BY 4.0 CN协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。本文链接为: https://blog.jijian.link/2020-01-13/hexo-browsersync-hot-update-failed/

如果您觉得文章不错,可以点击文章中的广告支持一下!