文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在 Vue 中解析和渲染 Markdown

2024-12-14 00:27

关注

HTML是超文本标记语言的缩写,可能是当今网络上使用最多的标记语言。Markdown 在我们程序界也是一个必备的技能。我们可以使用 makrdown来渲染文本,它实际上是一种更快的写作方式,因为它学习成本很低,不需要掌握很多知识就可以开始。如果你的想写博客,甚至想作为技术作家写作时,Markdown 是你首先的写作工具。

本文主要介绍如果在 Vue 中使用 Markdown,废话说了很多了,我们就这开始按摩。

为什么使用 Marked.js 库

Vue 没有像React 那么多 MD 的插件。如 markdown-it、Remark.js、marked.js。希望在未来,会有更多好用的库来支持我们的 Vue ,经过一番调研,我选择了marked.js,因为它的星星最多,bug 少。

创建项目

我们使用 vue-cli 来创建项目,运行如下命令:

  1. vue create marked-example 

这里我们选择最简单的 Vue2 模板创建项目,创建完后的项目结构如下:

  1. +-- src/i 
  2. |   +-- assets/ 
  3. |   +-- components 
  4. |       +-- HelloWorld.vue 
  5. |       +-- App.vue 
  6. |   +-- main.js 

现在我们在 MD 语法写个

  1.  
  2.  
  3.  

运行:

基于上面的代码,我们希望# hello world MD 语法能在 Vue 渲染成。要怎么做呢,这就需要借助 Marked.js 库。

安装 Marked.jsMarked 或 marked.js 是一个低级别的编译器,帮助我们将 Markdowns 转换成HTML。安装一波试试水:

  1. npm install marked 

然后,在 app.vue 中引入:

  1. import marked from 'marked'

渲染 markdown

渲染方法很简单就是把我们的文本传入 marked,结果返回是带了标签的文本内容,我们在用 v-html 渲染即可。

  1.  
  2.  
  3.  

这里我们多写了一个 textarea 标签,然后用了计算属性来实时的渲染 markdowns。运行后的结果如下

然后,多输入 一些 MD 语法验证一下:

全局引入

当我们不想每个组件都 引入一次时,就可以声明成全局的。怎么做?

实现 marked 库全局化的方法是使用 Mixins。Mixins 只是Vue组件中可重复使用的功能的一个分布。

重构一下我们的 main.js 代码,如下所示:

  1. import {createApp} from 'vue'
  2. import App from './App.vue'
  3. import marked from 'marked'
  4. const markedMixin = { 
  5.     methods: { 
  6.          md: function (input) { 
  7.             return marked (input); 
  8.         }, 
  9.     }, 
  10. }; 
  11.  
  12.  
  13.  
  14. createApp(App).mixin(markedMixin).mount('#app'

当想转换 md时,直接在组件中调用 this.md 就可以将 md 转成 html 了。

~完,本文内容很简单,因为最近也用到类似的功能,搜索这个库,所以就分享一下,我们下期再见!

作者:Dmitri Pavlutin 译者:前端小智

来源:blog.openreplay 原文:https://blog.openreplay.com/how-parse-and-render-markdown-in-vuejs

【编辑推荐】

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
  2. 苹果推送iOS 15 正式版更新内容通知
  3. 庖丁解牛-图解MySQL 8.0优化器查询解析篇
  4. 缓解SQL注入威胁的三种方法
  5. iPhone 13都快来了 iOS这些硬伤还要忍多久?
  6. 为什么现在的手机价格越来越贵了?

 

来源:大迁世界内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯