我正在使用盖茨比建立一个由Netlify托管的网站。该网站显示了YouTube上的视频播放列表。为了使网站速度更快,我想将视频本地缓存在youtube播放列表中。
那么Netlify(或Gatsby)上是否有任何类似于memcache的项目?还是应该使用其他替代方法?
预先感谢
答案 0 :(得分:0)
有两个步骤:
createRemoteFileNode
会将YouTube缩略图提取到本地缓存中。我需要做的就是找到Youtube缩略图URL,然后调用createRemoteFileNode
函数。所有操作都在exports.createResolvers
中的gatsby-node.js
中完成。这是代码段:exports.createResolvers = ({
actions,
cache,
createNodeId,
createResolvers,
store,
reporter,
}) => {
const { createNode } = actions;
const resolvers = {
DatoCmsVideoItem: {
featuredImg: {
type: `File`,
resolve: async (source, args, context, info) => {
return createRemoteFileNode({
url: source.videoId,
createNode,
createNodeId,
reporter,
cache,
store,
});
},
},
},
};
createResolvers(resolvers);
};
这将获取节点source.videoId
中的文件,然后将文件存储在节点source.featuredImg
中以备将来使用。