2016-06-14 72 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