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

Nuxt Content渲染布局出现嵌套重复问题求助

Nuxt Content布局重复嵌套问题及解决方法

问题说明

使用Vue布局渲染Markdown文章时,出现布局重复嵌套的异常情况。相关代码与配置如下:

Debug布局组件代码

<template>
    <div class="container">
        <h1>container</h1>
        <div class="content">
            <h1>content</h1>
            <slot />
        </div>
    </div>
</template>

<script>
</script>

<style lang="scss" scoped>
    .container{
        padding: 2em;
        border-style: solid;
        border-color: red;
    }
    .content{
        padding: 2em;
        border-style: solid;
        border-color: blue;
    }
</style>

Markdown文件内容

---
layout: debug
---

# test  
testt

Nuxt配置文件(nuxt.config.ts)

export default defineNuxtConfig({
  compatibilityDate: '2024-04-03',
  devtools: { enabled: true },
  modules: ["@nuxt/image", "@nuxt/content"],
  content: {
    documentDriven: true
  },
})

实际渲染出现布局嵌套重复,参考相关Issue解决方案后无效且触发404错误。

解决方法

方案1:关闭documentDriven模式

documentDriven模式会自动将文档内容注入默认布局,手动指定布局时会导致嵌套冲突,需在配置中关闭:

export default defineNuxtConfig({
  // 保留原有其他配置
  content: {
    documentDriven: false
  },
})

方案2:使用ContentRenderer组件手动渲染(保留documentDriven模式)

若需维持documentDriven模式,需在布局组件中用<ContentRenderer>替代<slot>,避免重复渲染:

<template>
    <div class="container">
        <h1>container</h1>
        <div class="content">
            <h1>content</h1>
            <ContentRenderer :value="document" />
        </div>
    </div>
</template>

<script setup>
const { document } = useContent()
</script>

<style lang="scss" scoped>
    .container{
        padding: 2em;
        border-style: solid;
        border-color: red;
    }
    .content{
        padding: 2em;
        border-style: solid;
        border-color: blue;
    }
</style>

方案3:检查布局文件路径

确保布局组件放在项目根目录的layouts/文件夹下(如layouts/debug.vue),Nuxt仅自动识别该目录下的布局文件,路径错误会引发渲染异常。

验证

修改配置或布局代码后,重启Nuxt开发服务,访问目标Markdown页面即可确认布局不再重复嵌套。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:33:28