我正在尝试使用 sanity.io 制作 nextjs 打字稿项目,但我无法解决这个问题。这表明 createImageUrlBuilder 不是一个函数。[在此处输入图像描述][1] 这是我的理智模块2
问问题
120 次
3 回答
2
createImageUrlBuilder
不再被包装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'
于 2022-02-28T17:12:24.573 回答
1
您需要在 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); // <-----------
于 2022-02-26T15:01:48.937 回答
0
首先运行这个命令
npm install --save @sanity/image-url
导入 createImageUrlBuilder
import createImageUrlBuilder from "@sanity/image-url";
它以这种方式对我有用。
于 2022-02-27T05:52:47.113 回答