首頁  >  文章  >  開發工具  >  hexo部署到gitee無法正常顯示怎麼辦

hexo部署到gitee無法正常顯示怎麼辦

PHPz
PHPz原創
2023-04-11 09:10:06717瀏覽

Hexo是一款非常受歡迎的靜態部落格產生器,它支援多平台部署,包括GitHub、GitLab、和Coding等,同時也支援部署到國內的碼雲(gitee)平台。然而,有一些Hexo用戶在將部落格部署到gitee時發現,無法正常顯示部落格內容,這個問題該如何解決呢?

首先,我們需要明確一點,這個問題並不是Hexo本身造成的,而是由於gitee平台對跨域請求做了限制。當你在使用Hexo將部落格部署到gitee平台時,它會產生一些靜態檔案(例如HTML、CSS、JS等),這些檔案中的圖片、字體、和其他靜態資源路徑都是相對路徑,例如「. ./images/test.png」。當你的部落格透過gitee訪問時,gitee會將這些靜態檔案快取起來,並將快取的內容提供給用戶訪問,但是當用戶需要訪問其中的圖片、字體、和其他靜態資源時,它會和相對路徑所在的網域名稱(例如「example.com」)進行跨網域請求,這時候問題就出現了,gitee平台對跨域請求做了限制,導致了無法正常顯示部落格內容。

那麼,該如何解決這個問題呢?以下是一些可能的解決方案:

  1. 使用CDN。使用CDN可以解決路徑相對的問題。你可以將所有的靜態資源上傳到CDN並設定位址為絕對路徑,這樣就可以避免跨域請求的問題。例如,「https://cdn.example.com/images/test.png」。但使用CDN需要付費,如果經濟條件不允許,可以考慮下面的方案。
  2. 將所有的靜態資源上傳到gitee中的某個倉庫。在gitee中,我們可以建立一個新倉庫,然後將所有的靜態資源上傳到這個倉庫。我們需要將倉庫中的存取位址新增到Hexo設定檔中,這樣就可以避免跨域請求的問題。例如,「https://gitee.com/username/static/raw/master/images/test.png」。這種方式的缺點是需要手動上傳文件,麻煩,但是在部落格內容不改變的情況下,可以使用快取功能,減少請求次數。
  3. 使用Travis CI。這個方案需要你具備一定的程式設計經驗。 Travis CI是一個整合測試和部署的工具,可以自動建置、測試、和部署程式碼到持續整合伺服器中,這樣就可以實現自動部署部落格了。具體的操作可以參考官方文檔,這個方案比較複雜,但是效果非常好。

總結起來,無法正常顯示Hexo部落格的問題是由於gitee平台對跨域請求做了限制,可以透過使用CDN、將靜態檔案上傳到gitee中的某個倉庫中、和使用Travis CI來解決這個問題。每種方案都有其優缺點,可以根據自己的實際情況來選擇適合自己的方案。

以上是hexo部署到gitee無法正常顯示怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn