Skip to main content

Build Caching

插件可以将数据缓存为JSON对象,并在连续的构建中检索它们.

Gatsby和插件已经使用了缓存,例如:

  • 缓存由源/变压器插件创建的任何节点
  • gatsby-plugin-sharp缓存内置缩略图

数据存储在相对于项目根目录的.cache目录中.

The cache API

缓存API传递给Gatsby的Node API ,该API通常由插件实现.

您要使用的两个功能是:

set

缓存值

cache.set(key: string, value: any) => Promise<any>

get

检索缓存的值

cache.get(key: string) => Promise<any>

Node API帮助程序文档提供了有关该API的更多详细信息.

Plugin Example

在插件的gatsby-node.js文件中,您可以这样访问cache参数:

Clearing cache

由于缓存文件存储在.cache目录中,因此只需删除它即可清除所有缓存. 您还可以使用gatsby clean删除.cachepublic文件夹. 在某些情况下,盖茨比还会使缓存无效,具体来说:

  • 如果package.json更改,例如更新或添加了依赖关系
  • 如果gatsby-config.js更改,例如添加或修改了插件
  • 如果gatsby-node.js发生更改,例如,如果您调用新的Node API或更改createPage调用

Conclusion

使用缓存API,您可以在构建之间保留数据,这在使用Gatsby开发站点时非常有帮助(因为您经常运行gatsby develop经常gatsby develop ). 繁重的性能操作(例如图像转换)或下载数据可能会大大减慢Gatsby的启动速度,并且将此优化添加到插件中可以为最终用户带来巨大的进步. 您还可以查看以下实现了缓存API的示例: gatsby-source- contentfulgatsby-source-shopifygatsby-source-wordpressgatsby-transformer-remarkgatsby-source-tmdb .


Edit this page on GitHub
Docs
Tutorials
Plugins
Blog
Showcase

by  ICOPY.SITE