【随记】hexo+next部署后无法显示博客

最近写博客时发现,用hexo s本地调试时,博客显示都很正常,但hexo d部署到github之后,文章和目录都是空白,但链接可点击。最后排查原因,找解决方案,最终还是解决了。这里就分享一下。

用hexo d部署后的结果如下图:
博客无法显示

域名地址没问题,多次刷新也是同样的界面,并且能访问github,证明不是网速的问题。直接看的话可能是某些css文件和js文件加载失败了。那就chrome浏览器F12查看一下吧。结果如下图:
文件加载失败
大量的404,而且仔细观察,基本上都是vendors文件夹下的内容。

好吧,既然我的博客出问题了,其它人应该也碰到过类似问题,就带着这些线索搜索吧。最后,找到了原因:最近github page进行了更新,过滤掉了source/vendors目录的访问,导致该目录下的文件在加载时都是404错误。

那么解决方案呢?

我这边采取了github next issue的解决方案,即修改路径,将原来的vendors都改成lib。修改的主要内容如下:

  • next主题的_config.yml文件:修改_config.yml文件中的_internal: vendors_internal: lib
  • vendors文件夹:修改themes\next\source\vendorsthemes\next\source\lib
  • themes\next\.bowerrc文件:修改.bowerrc文件中的vendorslib
  • themes\next\.gitignore文件:修改.gitignore文件中的vendorslib
  • themes\next\.javascript_ignore文件:修改.javascript_ignore文件中的vendorslib
  • themes\next\bower.json文件:修改bower.json文件中的vendorslib

所有这些修改完成之后,再次hexo g生成文件。hexo d部署。再次刷新页面,发现一切都正常了。
博客正常显示