在 Nuxt 3中集成和使用 Markdown-it 的完整指南

2025-04-05
4442 分钟
...

在 Nuxt3中使用 markdown-it 来处理 Markdown 是一个很实用的功能,特别是在构建博客或文档站点时。以下是一个简单的指南,说明如何在 Nuxt3 中集成 markdown-it

  1. 安装 markdown-it

    首先,你需要安装 markdown-it 和可能的插件。你可以通过 npm 或 yarn 来安装它们。

    npm install markdown-it

    或者使用 yarn:

    yarn add markdown-it

  2. 创建一个插件来配置 markdown-it

    在你的 Nuxt 3 项目中,创建一个新的插件文件来配置 markdown-it。例如,可以在 plugins 文件夹中创建一个文件 markdown-it.ts

    // plugins/markdown-it.js
    import MarkdownIt from 'markdown-it'
    
    export default defineNuxtPlugin(nuxtApp => {
      const md = new MarkdownIt()
    
      // 如果你需要使用其他插件,可以在这里配置
      // md.use(require('markdown-it-emoji'))
    
      nuxtApp.provide('markdown', md)
    })
  3. 在组件或页面中使用 markdown-it

    你可以在组件或页面中通过 useNuxtApp() 获取到 markdown-it 实例,并用它来解析 Markdown 内容。

    <template>
      <div v-html="parsedContent"></div>
    </template>
    
    <script setup>
    import { ref, onMounted } from 'vue'
    import { useNuxtApp } from '#app'
    
    const { $markdown } = useNuxtApp()
    const content = ref('# Hello WorldnThis is markdown content.')
    
    const parsedContent = ref('')
    
    onMounted(() => {
      parsedContent.value = $markdown.render(content.value)
    })
    </script>

    这里,content 是你需要解析的 Markdown 字符串,parsedContent 是经过解析的 HTML 内容,会被绑定到模板中显示。

  4. (可选)添加更多 markdown-it 插件:

    如果你需要更多功能,比如 emoji 支持、表格支持等,可以安装相应的插件并在插件配置中使用它们。例如,安装 markdown-it-emoji 插件:

    npm install markdown-it-emoji

    然后在你的 markdown-it 插件配置中使用它:

    // plugins/markdown-it.js
    import MarkdownIt from 'markdown-it'
    import emoji from 'markdown-it-emoji'
    
    export default defineNuxtPlugin(nuxtApp => {
      const md = new MarkdownIt()
      md.use(emoji)
    
      nuxtApp.provide('markdown', md)
    })

通过以上步骤,你就可以在 Nuxt 3 项目中使用 markdown-it 来处理 Markdown 内容了。

如果您觉得这篇文章有帮助,请点个赞吧~

分享文章

相关文章

更多文章 →
nuxt2025-10-24
Nuxt 中 process.client 与 import.meta.client 的区别
一、来源与定义 | 对比项 | process.client | import.meta.client | | | | | | 来源 | Nuxt 内置的运行时变量(兼容 Node 风格) | Vite 原生 ESM 构建标志 | | 定义位置 | Nuxt 在构建阶段自动注入到全局 | Vite 在编译阶段静态替换 | | 作用机制 | 运行时判断变量 | 构建时编译宏(静态替换) | | 语法类型 | CommonJS 风格 | E...
学习
nuxt2025-10-22
Nuxt SSR 与 Next.js SSR
🧭 引言 在现代前端生态中, Nuxt(Vue) 与 Next.js(React) 是最成熟的两大全栈框架。 它们都具备 SSR(Server Side Rendering) 能力,但实现原理与运行机制差异巨大。 如果你在使用 Nuxt 构建 SSR 项目,却发现“路由跳转后不再 SSR”, 而在 Next.js 中同样操作却会重新发起服务端渲染——这不是 bug,而是 理念差异 。 本文将详细对比这两种框架的 SSR 行为,帮助你彻...
学习面试
nuxt2025-09-24
nuxt4制作企业官网
SASS 1、引入SASS 2、配置文件目录 可以注入 SCSS 变量或 mixin 到每个 样式块。 推荐使用 而不是 ,因为 会重复加载。 注意路径 是相对于项目根目录。 3、创建2个文件 问题: 如果用 ,变量仍然可以访问,但 mixin 和函数也要全局注入。 不要在 里再 自己的 ,会出现循环依赖。 不能在global.scss写预设变量,会报错 也可以直接写变量,而不通过单独文件: 4、使用 打包SSG 静态文件 1、配置文件...
学习
nuxt2025-04-08
Nuxt3 使用 ElementUI Plus报错问题
&nbsp;解决方式:官方组件需要被包裹一层,如以下示例:
学习
nuxt2025-04-05
nuxt.js安装国际化插件i18n
国际化i18n配置 1. 安装依赖 2. 配置i18n 3. 使用i18n LanguageSwitcher.vue 4. 创建语言文件 /locales/en.ts /locales/zh.ts 在需要国际化的地方通过{{ $t(‘sidebar.right’) }}的形式来使用 运行项目后,可以引入切换按钮进行语言切换 &nbsp; &nbsp; ps:切换语言后需要 才会正确显示
学习
nuxt2025-04-05
Nuxt3实现事件总线EventBus
事件总线 这里我是用得是 这个库, 是一个微型的 EventEmitter 库 安装 在plugins文件夹下建立mitt.ts文件 使用: A页面 B页面
学习

评论

请登录后发表评论

去登录
加载评论中...