hexo部署到gitee无法正常显示怎么办

2023年 8月 2日 67.2k 0

Hexo是一款非常流行的静态博客生成器,它支持多平台部署,包括GitHub、GitLab、和Coding等,同时也支持部署到国内的码云(gitee)平台。然而,有一些Hexo用户在将博客部署到gitee时发现,无法正常显示博客内容,这个问题该如何解决呢?

首先,我们需要明确一点,这个问题并不是由Hexo本身造成的,而是由于gitee平台对跨域请求做了限制。当你在使用Hexo将博客部署到gitee平台时,它会生成一些静态文件(例如HTML、CSS、JS等),这些文件中的图片、字体、和其他静态资源路径都是相对路径,例如“../images/test.png”。当你的博客通过gitee访问时,gitee会将这些静态文件缓存起来,并将缓存的内容提供给用户访问,但是当用户需要访问其中的图片、字体、和其他静态资源时,它会和相对路径所在的域名(例如“example.com”)进行跨域请求,这时候问题就出现了,gitee平台对跨域请求做了限制,导致了无法正常显示博客内容。

那么,该如何解决这个问题呢?以下是一些可能的解决方案:

  • 使用CDN。使用CDN可以解决路径相对的问题。你可以将所有的静态资源上传到CDN并设置地址为绝对路径,这样就可以避免跨域请求的问题。例如,“https://cdn.example.com/images/test.png”。但是使用CDN需要付费,如果经济条件不允许,可以考虑下面的方案。
  • 将所有的静态资源上传到gitee中的某个仓库中。在gitee中,我们可以创建一个新仓库,然后将所有的静态资源上传到这个仓库中。我们需要将仓库中的访问地址添加到Hexo配置文件中,这样就可以避免跨域请求的问题。例如,“https://gitee.com/username/static/raw/master/images/test.png”。这种方式的缺点是需要手动上传文件,麻烦,但是在博客内容不发生改变的情况下,可以使用缓存功能,减少请求次数。
  • 使用Travis CI。这个方案需要你具备一定的编程经验。Travis CI是一个集成测试和部署的工具,可以自动构建、测试、和部署代码到持续集成服务器中,这样就可以实现自动部署博客了。具体的操作可以参考官方文档,这个方案比较复杂,但是效果非常好。
  • 总结起来,无法正常显示Hexo博客的问题是由于gitee平台对跨域请求做了限制,可以通过使用CDN、将静态文件上传到gitee中的某个仓库中、和使用Travis CI来解决这个问题。每种方案都有其优缺点,可以根据自己的实际情况来选择适合自己的方案。

    以上就是hexo部署到gitee无法正常显示怎么办的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论