前言
在使用 Netlify CMS 来管理静态网站时,我们需要使用一个后端来保存数据。在传统的做法中,我们需要自己搭建一个后端,但是使用 Netlify CMS + Git Gateway 就可以避免这个问题。但是在某些情况下,我们需要使用其他的后端来完成 Netlify CMS 的管理,这时候就可以使用 @rrpm/netlify-cms-backend-test 这个 npm 包。
什么是 @rrpm/netlify-cms-backend-test
@rrpm/netlify-cms-backend-test 是一个直接针对 Netlify CMS 而设计的后端,它可以全面地模拟 Netlify 文件系统及其 APIs,让我们可以在本地测试 Netlify CMS 的功能,而无需搭建一个真实的 API 服务器。
如何使用 @rrpm/netlify-cms-backend-test
准备工作
首先需要确保您的项目中已经安装了 Netlify CMS,如果您还没有安装,请使用以下命令安装:
npm install netlify-cms --save
接下来,我们需要安装 @rrpm/netlify-cms-backend-test:
npm install @rrpm/netlify-cms-backend-test --save-dev
配置 Netlify CMS
在您的项目中打开 Netlify 配置文件(一般为 netlify.toml),添加以下内容:
[build.environment] # 其他的配置项... USE_LOCAL_API = "true"
配置后端
在项目中新建一个 .netlify/local/api.js 文件,然后输入以下内容:
-- -------------------- ---- ------- -- -- ------------------------------ ----- - ------------- - - ------------------------------------------ -- ------------ ----- ---------- - --- -- ---- ----- ------------------ - -------- -- - ----- - ----------- - - ------- -- -- ----------- ------ --------------- ---------- ----------- ----------- ------ -- ----------------------- -- --------- --- ----- --- ----------- --- -- -- ---- -------------- - - ------------------ --
这里我们定义了一个空的数组 dataSource
来存储文章信息,我们将配置于 Netlify CMS 的collections
项传入 createBackend()
,然后通过 createLocalBackend()
返回一个匹配的 backend。
启动 Netlify CMS
在 package.json 文件中添加一个 script 命令:
{ "scripts": { "start": "netlify-cms-proxy-server ./static/api" } }
现在请在控制台输入以下命令并启动 Netlify CMS:
npm run start
现在你可以打开你的本地网站看看 Netlify CMS 是否正常工作。如果您遇到了问题,请在控制台检查相关的错误信息。
示例代码
-- -------------------- ---- ------- -- -- ------------------------------ ----- - ------------- - - ------------------------------------------ -- ------------ ----- ---------- - - - ----- ----------------------- -------- ------------ ----- ------------ ------------------------ -- - ----- ----- ------- -- -- -- ---- ----- ------------------ - -------- -- - ----- - ----------- - - ------- -- -- ----------- ------ --------------- ---------- ----------- ----------- ------ -- ----------------------- -- --------- --- ----- --- ----------- --- -- -- ---- -------------- - - ------------------ --
总结
@rrpm/netlify-cms-backend-test 为我们提供了一种快速进行 Netlify CMS 测试的方式,通过本地测试我们能够更好的理解它的工作方式。它为我们提供了测试页面、API 的请求及响应、路由等等功能接口。如果你有兴趣,可以查看该 npm 包的源代码以了解更多它的实现原理。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5c51ab1864dac67081