【发布时间】:2022-12-24 20:00:03
【问题描述】:
我正在尝试将我的项目部署到 Vercel,但它似乎给我这个错误,说明以下内容:
类型错误:类型为“{ dataset: string; 的参数”项目编号:字符串 |不明确的; api版本:字符串;使用CDN:布尔值; }' 不可分配给 'SanityClientLike | 类型的参数SanityProject详情 |不明确的'。
输入'{数据集:字符串;项目编号:字符串 |不明确的; api版本:字符串;使用CDN:布尔值; }' 不可分配给类型 'SanityProjectDetails'。
属性“projectId”的类型不兼容。
输入'字符串| undefined' 不可分配给类型 'string'。
类型“undefined”不可分配给类型“string”。
import { createClient } from "next-sanity";
import createImageUrlBuilder from '@sanity/image-url';
export const config = {
dataset: process.env.NEXT_PUBLIC_SANITY_DATASET || 'production',
projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID,
apiVersion: '2021-03-25',
useCdn: process.env.NODE_ENV === 'production',
};
export const sanityClient = createClient(config);
export const urlFor = (source: any) => createImageUrlBuilder(config).image(source);
它说错误在于 createImageUrlBuilder(config) 行。我不确定这条线有什么问题。如果有人知道如何解决这个问题,我会非常感激。
【问题讨论】:
-
尝试将
projectId值替换为projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID || ''以满足 Sanity 类型期望的string类型。
标签: reactjs next.js vercel sanity