“gatsby-node.js”在运行 onCreateNode 生命周期时抛出错误:fmImagesToRelative 不是函数

Sam*_*Sam 2 reactjs gatsby gatsby-remark-image gatsby-plugin

我使用 astronaut 从基本的默认 gatsby starter 构建了这个项目


gatsby-node我不知道我做错了什么,因为这个项目与我的另一个项目非常相似gatsby-config。这个错误在控制台中不断循环

TypeError: fmImagesToRelative is not a function
  
  - gatsby-node.js:38 Object.exports.onCreateNode
    /Users/Sam/Documents/Projects_and_Code/Web_Dexter_V2/gatsby-node.js:38:3
  
  - api-runner-node.js:330 runAPI
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:330:22
  
  - api-runner-node.js:440 Promise.catch.decorateEvent.pluginName
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:440:17
  
  - From previous event:
  
  - api-runner-node.js:440 Promise.catch.decorateEvent.pluginName
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:440:9
  
  - From previous event:
  
  - api-runner-node.js:439 
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:439:14
  
  - timers.js:456 processImmediate
    internal/timers.js:456:21
  
  - From previous event:
  ...
Run Code Online (Sandbox Code Playgroud)

gatsby-node.js

TypeError: fmImagesToRelative is not a function
  
  - gatsby-node.js:38 Object.exports.onCreateNode
    /Users/Sam/Documents/Projects_and_Code/Web_Dexter_V2/gatsby-node.js:38:3
  
  - api-runner-node.js:330 runAPI
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:330:22
  
  - api-runner-node.js:440 Promise.catch.decorateEvent.pluginName
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:440:17
  
  - From previous event:
  
  - api-runner-node.js:440 Promise.catch.decorateEvent.pluginName
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:440:9
  
  - From previous event:
  
  - api-runner-node.js:439 
    [Web_Dexter_V2]/[gatsby]/src/utils/api-runner-node.js:439:14
  
  - timers.js:456 processImmediate
    internal/timers.js:456:21
  
  - From previous event:
  ...
Run Code Online (Sandbox Code Playgroud)

gatsby-config.js

const { createFilePath } = require(`gatsby-source-filesystem`)
const { fmImagesToRelative } = require('gatsby-remark-relative-images');
const path = require("path")

exports.createPages = async ({ actions: { createPage }, graphql }) => {
  const postTemplate = path.resolve(`src/components/ArticlePage/index.tsx`)

  const result = await graphql(`
    {
      allMarkdownRemark(
        sort: { order: DESC, fields: [frontmatter___date] }
 
      ) {
        edges {
          node {
            fields {
              slug
            }
          }
        }
      }
    }
  `)

  if (result.errors) {
    return Promise.reject(result.errors)
  }

  result.data.allMarkdownRemark.edges.forEach(({ node }) => {
    createPage({
      path: `${node.fields.slug}`,
      component: postTemplate,
    })
  })
}

exports.onCreateNode = ({ node, getNode, actions }) => {
  fmImagesToRelative(node)
  if (node.internal.type === `MarkdownRemark`)
    actions.createNodeField({
      node,
      name: `slug`,
      value: createFilePath({ node, getNode, basePath: `pages`, trailingSlash: true}),
      
    })
  
}
Run Code Online (Sandbox Code Playgroud)

Sam*_*Sam 5

它与 相关,当使用版本而不是或使用版本时,gatsby-remark-relative-images: "^2.0.2"问题不再发生。这在他们的github 页面上有说明^0.3.0^2.0.2"gatsby-remark-relative-images-v2": "^0.1.5",