如何为内容图像创建远程文件节点

时间:2020-01-20 17:50:22

标签: gatsby contentful gatsby-image

我正在寻求帮助。我在gatsby中使用内容丰富的博客。 我希望帖子中的照片使用gatsby-plugin-sharp和gatsby-image。如果我理解正确,则必须使用gatsby-source-filesystem插件中的createRemoteFileNode。但是我有一个问题,因为我认为我有一个错误。下面是我添加到gatsby-node文件中的代码。

const { createRemoteFileNode } = require('gatsby-source-filesystem')

module.exports.downloadMediaFiles = ({ nodes, store, cache, createNode, createNodeId, _auth }) => {
  nodes.map(async node => {
    let fileNode

    if (node.internal.type === 'ContentfulAsset') {
      try {
        fileNode = await createRemoteFileNode({
          url: node.source_url,
          parentNodeId: node.id,
          store,
          cache,
          createNode,
          createNodeId,
          auth: _auth,
        })
      } catch (e) {
        // Ignore
      }
    }

    if (fileNode) {
      node.localFile___NODE = fileNode.id
    }
  })
}

我正在寻求帮助,并先谢谢您。

0 个答案:

没有答案