You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt/Content项目运行报Maximum call stack size exceeded错误如何解决

问题原因分析

你的配置存在两个问题,其中第一个是触发Maximum call stack size exceeded错误的直接原因:

  • 核心错误:asyncData中调用$content时缺少.fetch()方法调用
    Nuxt Content 1.x 版本中,$content()方法返回的是查询构造器实例,而非实际解析后的文档内容,必须链式调用.fetch()才会执行查询并返回格式化后的文档对象。你直接将未执行的查询构造器传给<nuxt-content>组件,组件内部处理属性时触发了无限递归,最终导致调用栈溢出。
  • 次要拼写错误:页面文件命名错误
    你将动态路由页面命名为_slag.vue,正确命名应该是_slug.vue,否则路由参数的key会是slag而非slug,后续访问非首页的内容路由时会无法正确获取参数值。
修复方案

先将页面文件名修改为_slug.vue,再将文件内的asyncData逻辑调整为如下代码即可:

<template>
    <nuxt-content :document="doc" />
</template>

<script>
export default {
    async asyncData({ $content, params }) {
        // 补充.fetch()执行查询获取实际文档内容
        const doc = await $content(params.slug || 'index').fetch()
        return { doc }
    }
};
</script>

修改完成后重启项目即可正常运行。

内容的提问来源于stack exchange,提问作者user66875

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:15:03