静态网站生成和部署(二)项目构成和部署(Strapi + Vercle)

2024-08-23 01:38

本文主要是介绍静态网站生成和部署(二)项目构成和部署(Strapi + Vercle),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目介绍

  • 使用 Gridsome 创建项目
  • 模板参考 startbootstrap-clean-blog
  • 使用 Strapi 管理内容,提供 API 和 GraphQL查询

Gridsome 是静态站点生成器,打包时可以通过 API 或 GraphQL 获取动态数据,生成对应的静态文件。

例如:获取一定数量的文章列表,生成每个文章的详情页。

Strapi 用于提供数据来源。

由于生成的是静态站点,当静态页面中的数据源发生变化,静态页面是不会自动更新的。

所以需要在部署时监听数据源变化,当数据发生变化时,通知Gridsome重新生成静态站点。

Strapi

介绍

Strapi (Bootstrap your API)是通用的CMS内容管理系统。

  • 快速生成CMS管理面板
  • 快速创建集合,例如文章、用户
  • 提供 RESTFul API 和 GraphQL 轻松获取数据
  • 内置用户系统,可以控制权限
  • 插件 - 可以轻松搭配 Gridsome
  • webhook - 可以关联钩子实现自动部署,例如 Vercel
  • 可以使用任意数据库类型,例如:Sqlite Mysql Mongodb

安装

Strapi 依赖 sharp,所以需要考虑网络环境并配置 C++ 编译环境。

网络环境可以修改镜像:sharp - Chinese mirror

C++ 编译可以安装:node-gyp 和 相应系统的编译套件

静态网站部署到Vercel

Gridsome 生成的静态网站可以部署到任意支持静态资源托管的 web 服务器,例如 Vercel。

Vercel 需要注册 或 Github授权登录,可以参考 Vercel 部署 NuxtJS 应用。

登录后可以从Git仓库导入项目:Import Git Repository 或 Import Project:

在这里插入图片描述

在这里插入图片描述

填写Gridsome项目的仓库地址(注意不是分支地址):

在这里插入图片描述

Continue 后继续配置:

在这里插入图片描述

在这里插入图片描述

如果编译过程失败,可以根据错误调整,重新 Deploy

编译完成:

在这里插入图片描述

Strapi触发自动部署

Vercel 可以配置 Git Deploy Hooks。

Deploy Hooks 允许您触发给定分支的部署。

从项目的Settings进入:

在这里插入图片描述

填写自定义的钩子名称,和配置的Git分支,然后创建。

在这里插入图片描述

然后进入 Strapi 添加 webhook:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

保存后,修改数据,例如新建一篇文章。

此时 Vercel 就会重新打包编译,最终生成新的静态页面。

可以进入 Vercel 项目的 deployments 面板查看。

至此 Gridsome + Strapi + Vercel 自动部署完成。

这篇关于静态网站生成和部署(二)项目构成和部署(Strapi + Vercle)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097987

相关文章

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统