2016-06-14 38 views

回答

10

是的,當您更改其中一個源文件時,必須重新構建靜態網站。在數據庫支持的網站(例如Wordpress)中,HTML是在每個頁面請求上動態構建的,因此如果您更改數據庫中的內容,則會立即反映在下一頁加載的網站HTML中。

靜態網站不會在每個頁面請求上構建HTML。這就是他們如此快速(和安全)的原因,因爲他們做的工作很少。服務器只是從磁盤讀取文件。但這確實意味着,當您更改或添加到網站的內容(例如新的博客文章)時,您需要重建網站。

處理此「重建&推入服務器」過程有許多很好的工作流程。

對於我的博客(bricolage.io),我只是在本地構建站點,然後將構建文件提交到Git,然後在我的服務器上提取這些更改。在那裏我有一個網絡服務器(caddyserver.com)設置來提供公共文件夾。由於我很少更新我的網站,因此這個有點手動的過程起作用

對於Github Pages,我會添加一個簡單的deploy npm腳本,如"deploy": "gatsby build --prefix-links && gh-pages -d public"。看看我做了什麼反應 - 淨空https://github.com/KyleAMathews/react-headroom/blob/master/website/package.json

有一些靜態網站託管公司內置工作流程的蓋茨比。我強烈推薦他們,如果他們適合您的需求!

看到這些博客文章:

而且在未來幾個月,蓋茨將增加對部署的插件,這將進一步簡化建立了良好的工作流程支持。

+1

,我們纔剛剛開始與蓋茨比,並計劃使用Netlify。 +1爲gatsby-on-netlify鏈接 –

3

由於Gatsby只生成靜態文件,因此它也可以從文件傳送系統或CDN(例如Amazon CloudFront)託管。

我犯了一個博客張貼有關自動部署到S3/CloudFront的的蓋茨比工作流的一部分:

+1

僅在將公用文件夾上傳到存儲桶時自動部署gatsby網站? – LuckyLukas

+0

基本上是的,你只需打開bucket設置中的靜態網站主機,並使一切指向'index.html' – lofihelsinki