Я пытаюсь перейти с Gatsby 2 на 3. Я удалил все зависимости от package.json и установил Gatsby. Я сейчас пытаюсь запустить gatsby develop, но получаю сообщение об ошибке:

'Аргумент «путь» должен быть строкового типа. Получил экземпляр Object '

Есть идеи, как это обойти? Я не уверен, чем мне нужно поделиться, но вот мой gatsby-config.js.

// Gatsby-config.js
module.exports = {
  siteMetadata,
  plugins: [
    {
      resolve: `gatsby-plugin-mdx`,
      options: {
        [],
        extensions: [`.mdx`, `.md`]
      }
    },
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Tyler's Blog`,
        short_name: `TylersBlog`,
        start_url: `/`,
        background_color: `#ffffff`,
        theme_color: `#663399`,
        display: `standalone`,
        icon: `content/favicon.svg`,
      },
    },
  ],
}

1
Tyler Norlund 18 Мар 2021 в 01:32

1 ответ

Лучший ответ

Удалите свой package-lock.json и сгенерируйте его снова npm install. После этого запустите gatsby clean.

Вдобавок, не зная структуры объекта sitemMetaData, трудно предположить, что там что-то не так, но, возможно, вам нужно:

// Gatsby-config.js
module.exports = {
  siteMetadata.sitemMetaData,
  plugins: [
    {
      resolve: `gatsby-plugin-mdx`,
      options: {
        extensions: [`.mdx`, `.md`]
      }
    },
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `Tyler's Blog`,
        short_name: `TylersBlog`,
        start_url: `/`,
        background_color: `#ffffff`,
        theme_color: `#663399`,
        display: `standalone`,
        icon: `content/favicon.svg`,
      },
    },
  ],
}

Я также удалил пустой массив параметров.

1
Ferran Buireu 18 Мар 2021 в 06:32