如何从 markdown 文件中获取 javascript 中的 post 内容
How to get post content in javascript from markdown file
我正在使用 sveltekit 和 markdown 构建一个博客站点。我使用动态导入导入 .md 文件,但我只能访问元数据,而不能访问用 markdown 编写的 post 内容。
请帮助
//[slug.js]
export async function get({ params }) {
const post = await import(`../../posts/${params.slug}.md`)
console.log(post.default)
console.log(post.metadata)
return {
body: {
postContent: post.default,
meta: post.metadata
}
}
}
//[slug.svelte]
<script>
export let postContent, meta
const { title, date, thumbnail } = meta
</script>
<h1>{title}</h1>
<p>{date}</p>
<img src={thumbnail} alt={title} />
<p>{postContent}</p>
使用 post.metadata 我可以获得 post 标题、日期和缩略图,但是 post.default returns 这个:
{ render: [Function: render], '$$render': [Function: $$render] }
如何获取 post 内容?
解决方案是在端点 [slug].js 上使用 post.default 并在 [slug].svelte 文件上使用 。
以下是解决方案的文件:
//[slug].js
export async function get({ params }) {
const post = await import(`../../posts/${params.slug}.md`)
return {
body: {
postContent: post.default,
meta: post.metadata
}
}
}
//[slug].svelte
<script>
export let postContent, meta
const { title, date, thumbnail } = meta
</script>
<h1>{title}</h1>
<p>{date}</p>
<img src={thumbnail} alt={title} />
<svelte:component this={postContent} />
我正在使用 sveltekit 和 markdown 构建一个博客站点。我使用动态导入导入 .md 文件,但我只能访问元数据,而不能访问用 markdown 编写的 post 内容。 请帮助
//[slug.js]
export async function get({ params }) {
const post = await import(`../../posts/${params.slug}.md`)
console.log(post.default)
console.log(post.metadata)
return {
body: {
postContent: post.default,
meta: post.metadata
}
}
}
//[slug.svelte]
<script>
export let postContent, meta
const { title, date, thumbnail } = meta
</script>
<h1>{title}</h1>
<p>{date}</p>
<img src={thumbnail} alt={title} />
<p>{postContent}</p>
使用 post.metadata 我可以获得 post 标题、日期和缩略图,但是 post.default returns 这个:
{ render: [Function: render], '$$render': [Function: $$render] }
如何获取 post 内容?
解决方案是在端点 [slug].js 上使用 post.default 并在 [slug].svelte 文件上使用
以下是解决方案的文件:
//[slug].js
export async function get({ params }) {
const post = await import(`../../posts/${params.slug}.md`)
return {
body: {
postContent: post.default,
meta: post.metadata
}
}
}
//[slug].svelte
<script>
export let postContent, meta
const { title, date, thumbnail } = meta
</script>
<h1>{title}</h1>
<p>{date}</p>
<img src={thumbnail} alt={title} />
<svelte:component this={postContent} />