TypeError: (0 , next_sanity__WEBPACK_IMPORTED_MODULE_0__.createImageUrlBuilder) не является функцией
Я пытаюсь создать проект машинописного текста nextjs, используя sanity.io, но я не могу решить эту проблему. это показывает, что createImageUrlBuilder не является функцией. [введите здесь описание изображения][1] вот мой модуль здравомыслия 2
[1]:( https://stackru.com/images/7f203399b67c609709c01a4109c8e1d105f2e99a.png)
5 ответов
больше не обернут
next-sanity
и вам нужно будет установить зависимость самостоятельно (https://github.com/sanity-io/next-sanity#createimageurlbuilder-is-removed)
$ npm install @sanity/image-url
// or
$ yarn add @sanity/image-url
Заметьте также, что
createImageUrlBuilder
теперь импорт по умолчанию .
-import { createImageUrlBuilder } from 'next-sanity'
+import createImageUrlBuilder from '@sanity/image-url'
Вам нужно передать вменяемый клиент в createImageUrlBuilder вместо config.
import createClient from '@sanity/client';
import createImageUrlBuilder from '@sanity/image-url';
const config = sanityClient({
projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID,
...
});
export const sanityClient = createClient(config);
export const urlFor = (source) => createImageUrlBuilder(client).image(source); // <-----------
Сначала запустите эту команду
npm install --save @sanity/image-url
Импортировать createImageUrlBuilder
import createImageUrlBuilder from "@sanity/image-url";
Это сработало для меня таким образом.
Сначала установите @sanity/image-url
$ npm install @sanity/image-url
//or
$ yarn add @sanity/image-url
import imageUrlBuilder from "@sanity/image-url";
export const urlFor = (source) => imageUrlBuilder(config).image(source);
используйте imageUrlBuilder вместо createImageUrlBuilder . Это сработало для меня, спасибо!!
Если вы хотите импортировать "urlFor" в свои компоненты, убедитесь, что вы импортируете так...
import { urlFor } from "../lib/sanity";