Next.js 应用程序在本地工作,但不在生产环境中工作:TypeError:无法读取属性';titulo#u categoria';未定义的

Next.js 应用程序在本地工作,但不在生产环境中工作:TypeError:无法读取属性';titulo#u categoria';未定义的,next.js,vercel,prismic.io,Next.js,Vercel,Prismic.io,我正在尝试使用Prismic作为CMS部署一个应用程序,并且一切都在本地完美运行,但一旦我部署到vercel,我就会得到错误: 19:09:51.850 | TypeError: Cannot read property 'titulo_categoria' of undefined 当它试图从Prismic获取数据时,似乎出现了问题。 我的代码如下: 从“../../lib/api”导入{getAllCategorias,getCategory2}; 导出默认函数索引({cat}){ 返回{

我正在尝试使用Prismic作为CMS部署一个应用程序,并且一切都在本地完美运行,但一旦我部署到vercel,我就会得到错误:

19:09:51.850 | TypeError: Cannot read property 'titulo_categoria' of undefined
当它试图从Prismic获取数据时,似乎出现了问题。 我的代码如下:

从“../../lib/api”导入{getAllCategorias,getCategory2};
导出默认函数索引({cat}){
返回{cat.titulo_categoria[0].text};
}
导出异步函数getStaticProps({params}){
常量数据=等待getCategory2(参数slug);
返回{
道具:{
类别:数据?类别为?空,
},
};
}
导出异步函数getStaticPaths(){
const allPosts=等待getAllCategorias();
返回{
路径:allPosts?.map(({node})=>`/test/${node.\u meta.uid}`)| |[],
回退:没错,
};
}
从Prismic获取数据的API代码是:

从“Prismic javascript”导入Prismic;
const REPOSITORY=process.env.PRISMIC_REPOSITORY_NAME;
const REF_API_URL=`https://${REPOSITORY}.prismic.io/API/v2`;
const GRAPHQL_API_URL=`https://${REPOSITORY}.prismic.io/GRAPHQL`;
//导出常量API\u URL='1〕https://your-repo-name.cdn.prismic.io/api/v2'
导出常量API_标记=process.env.PRISMIC_API_标记;
export const API_LOCALE=process.env.PRISMIC_REPOSITORY_LOCALE;
export const PrismicClient=Prismic.client(参考API URL{
accessToken:API_令牌,
});
异步函数fetchAPI(查询,{previewData,variables}={}){
const prismicAPI=wait PrismicClient.getApi();
const res=等待取数(
`${GRAPHQL\u API\u URL}?query=${query}&variables=${JSON.stringify(variables)}`,
{
标题:{
“Prismic Ref”:previewData?.Ref | | prismicAPI.masterRef.Ref,
“内容类型”:“应用程序/json”,
“接受语言”:API_语言环境,
授权:`Token${API\u Token}`,
},
}
);
如果(恢复状态!==200){
log(wait res.text());
抛出新错误('未能获取API');
}
const json=await res.json();
if(json.errors){
console.error(json.errors);
抛出新错误('未能获取API');
}
返回json.data;
}
导出异步函数getCategory2(slug){
常量数据=等待获取API(
`
查询CategoryBySlug($slug:String!,$lang:String!){
分类(uid:$slug,lang:$lang){
titulo_categoria
_元{
液体
}
} 
}
`,
{
变量:{
鼻涕虫
lang:API_语言环境,
},
}
);
返回数据;
}

知道这是怎么回事吗?我一整天都在努力想办法解决这个问题,但运气不好

也许你已经检查过了,但是既然你提到了一切都在本地工作,而不是在Vercel上,你确定你的环境变量设置在那里了吗?尤其是
PRISMIC\u API\u TOKEN
,因为您似乎依赖它来查询API

我还有点担心代码的这一部分:

道具:{
类别:数据?类别为?空,
}
…如果您可能将
null
值发送到
索引
组件,从而导致错误,我会尝试这样做:

道具:{
cat:数据?分类为{},
}
…另外,在
索引
组件上使用安全导航操作符(
?。

让我知道进展如何