nuxt / content

The file-based CMS for your Nuxt application, powered by Markdown and Vue components.
https://content.nuxt.com
MIT License
3.08k stars 624 forks source link

ContentList component doesn't work inside .md file #1171

Open avxkim opened 2 years ago

avxkim commented 2 years ago

Environment

Reproduction

Create a component "BlogPosts" inside /components/content/BlogPosts.vue with the following contents:

<template>
  <ContentList v-slot="{ list }" path="/blog">
    <div v-for="article in list" :key="article._path">
      <h2>{{ article.title }}</h2>
      <p>{{ article.description }}</p>
    </div>
  </ContentList>
</template>

<script setup lang="ts"></script>

content directory:

= content == blog === index.md === post1.md === post2.md

blog/index.md:

---
title: 'Home'
navigation: false
---

::blog-posts

shows ({ data }) => emptyNode("not-found", data)

Describe the bug

ContentList component displays nothing

Additional context

No response

Logs

No response

farnabaz commented 2 years ago

This fixes in #1143 and #1174. Until next release you can use edge version to resolve this issue

- "@nuxt/content": "^2.0.0",
+ "@nuxt/content": "npm:@nuxt/content-edge@latest", 
titan-65 commented 2 years ago

I am getting a TypeError when I had this "content-edge@latest" and run with pnpm.

TypeError [ERR_PACKAGE_IMPORT_NOT_DEFINED]: Package import specifier "#imports" is not defined in package Z:\Developer\recipe-markdown\node_modules\.pnpm\@nuxt+content-edge@2.0.0-27565830.5b81839\node_modules\@nuxt\content-edge\package.json imported from Z:\Developer\recipe-markdown\node_modules\.pnpm\@nuxt+content-edge@2.0.0-27565830.5b81839\node_modules\@nuxt\content-edge\dist\runtime\components\ContentDoc.mjs
    at new NodeError (node:internal/errors:372:5)
    at throwImportNotDefined (node:internal/modules/esm/resolve:461:9)
    at packageImportsResolve (node:internal/modules/esm/resolve:841:3)
    at moduleResolve (node:internal/modules/esm/resolve:997:21)
    at defaultResolve (node:internal/modules/esm/resolve:1218:11)
    at ESMLoader.resolve (node:internal/modules/esm/loader:580:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:294:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:80:40)
    at link (node:internal/modules/esm/module_job:78:36) {
  code: 'ERR_PACKAGE_IMPORT_NOT_DEFINED'
}

Any suggestion on this?

titan-65 commented 2 years ago

Nevermind I used a different package manager (yarn to be exact) and its now working!!!