gatsby - 如何防止 gatsby 从 WordPress 下载远程文件?
问题描述
每当我运行npm run develop
或npm run build
gatsby 从 WordPress 下载远程文件并将它们存储在缓存中时。从缓存中提供图像和其他静态文件。
由于它每次都在下载远程文件,因此需要花费大量时间来完成下载并为应用程序提供服务。这不利于发展。
我不想要它。我只是想使用远程 URL 来呈现图像。我怎样才能做到这一点?
解决方案
您有很多选项可用于自定义gatsby-source-wordpress
插件中的行为:
hardCacheMediaFiles
(实验性):当设置为 时true
,媒体文件将被硬缓存在 Gatsby 缓存之外,./.wordpress-cache/path/to/media/file.jpeg.
这对于防止在 Gatsby 缓存自动清除时重新下载媒体文件很有用。使用此选项时,请务必 gitignorewordpress-cache
项目根目录中的目录。用法:
{ resolve: `gatsby-source-wordpress`, options: { production: { hardCacheMediaFiles: true, // false by default }, }, }
此选项不会避免从服务器下载,它会缓存图像以避免后续下载。
excludeByMimeTypes
:允许通过它们的 mime 类型阻止下载与MediaItem
节点关联的文件。用法:
{ resolve: `gatsby-source-wordpress`, options: { type: { MediaItem: { localFile: { excludeByMimeTypes: [`video/mp4`], // add your images format }, }, }, }, }
此选项可能会避免下载您的图像和指定的格式
maxFileSizeBytes
: 允许阻止下载超过特定文件大小(以字节为单位)的文件。默认为 15mb。用法:
{ resolve: `gatsby-source-wordpress`, options: { type: { MediaItem: { localFile: { maxFileSizeBytes: 10485760, // 10Mb. Set it to 0 to avoid downloads }, }, }, }, }
此选项可以潜在地避免从服务器下载资产。
推荐阅读
- python - 如何使用python以GrADS可读的二进制格式编写?
- c++-cli - 为什么标签不能打印积分器?
- javascript - 单击后如何使用事件侦听器获取文本值
- laravel - 将登录详细信息存储在 laravel 的 session 中
- reactjs - 任何反应形式的数据都存储在哪里
- python - 有没有办法在不删除文件夹的情况下删除文件夹的所有内容?
- jquery - 在 WooCommerce 状态仪表板小部件中重命名单词
- firebase - IOS 应用程序的颤振通知声音
- key-value - 如何在 python turtle 中使用“if”和“onkeypress”?
- python - 带有格式化段落的 Python 中 eval() 函数的行为