前端Vue2项目使用md编辑器

项目中有一个需求,要在前端给用户展示内容,内容有 AI 生成的,返回来的是 md 格式,所以需要给用户展示 md 格式,并且管理端也可以编辑这个 md 格式的文档。

使用组件库 v-md-editor。

https://code-farmer-i.github.io/vue-markdown-editor/zh/examples/base-editor.html#引入

plain 复制代码
使用npm 命令进行安装 
# 使用 npm  npm i @kangc/v-md-editor -S

对于用户端需要展示出来,管理端需要编辑,官方给的全局组件是用来编辑的。 我使用局部注册的来管理。

在 main.js 中 导入编辑和预览组件,使用 Vue.use()进行全局的注册。

javascript 复制代码
import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

import VMdEditor from '@kangc/v-md-editor';
import '@kangc/v-md-editor/lib/style/base-editor.css';
import githubTheme from '@kangc/v-md-editor/lib/theme/github.js';
import '@kangc/v-md-editor/lib/theme/style/github.css';


import VMdPreview from '@kangc/v-md-editor/lib/preview';
import '@kangc/v-md-editor/lib/style/preview.css';

import '@kangc/v-md-editor/lib/theme/style/github.css';
import hljs from 'highlight.js';

// highlightjs


VMdEditor.use(githubTheme, {
  Hljs: hljs,
});
VMdPreview.use(githubTheme, {
  Hljs: hljs,
});
Vue.use(VMdEditor);
Vue.use(VMdPreview);

import router from './router'; // 导入路由配置
new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

editView

plain 复制代码
<script>


export default {
  data() {
    return {
      markdown: ``,
    };
  }
};
</script>

<template>
   <div>
     <v-md-editor v-model="markdown" height="400px" width="400px"></v-md-editor>
   </div>
</template>

<style scoped>
/* 组件样式 */
</style>
//通过 v-model 进行双向的绑定

注意注册的组件时机选择应该是 created(),不太清楚为什么。官方也没有给说明文档。

showView

plain 复制代码
<template>
  <div>
    <v-md-preview :text="markdown"></v-md-preview>
  </div>
</template>

<script>
// 只在本组件内引入需要的模块
export default {
  data() {
    return {
      markdown: `# 我的 Markdown 示例

## 介绍

Markdown 是一种轻量级标记语言,常用于编写格式化文本,常见应用包括文档编写、博客、GitHub 上的 README 文件等。

## 示例代码

\`\`\`python
def add(a, b):
    return a + b

result = add(3, 5)
print("结果是:", result)
\`\`\`
      `
    };
  }
};
</script>

<style scoped>
/* 组件样式 */
</style>

实际的markdown 可以由后端的接口进行返回

编辑界面

编写使用 markdown 语法,右边显示初对应的内容。

展示界面

这个是一个简单的版本,后面对于内容要保存到数据库中,要看官方文档,还有图片等上传。

相关推荐
清风徐来QCQ几秒前
跨域问题(CORS-Cross-Origin Resource Sharing跨域资源共享)
前端
DanCheOo1 分钟前
我写了一个 AI 代码质量流水线,一行命令搞定 Review + 修复 + 测试 + 报告
前端·ai编程
yaaakaaang7 分钟前
(六)前端,如此简单!--- 三类通讯
前端
Jinuss21 分钟前
源码分析之React中副作用Effect全流程
前端·javascript·react.js
踩着两条虫25 分钟前
VTJ.PRO 在线应用开发平台的低代码引擎与DSL系统
前端·低代码·ai编程
Yiyaoshujuku28 分钟前
医院API接口,从医院真实世界数据HIS、LJS、EMR、PACS系统到医院药品流向数据....
大数据·前端·人工智能
Shirley~~43 分钟前
力扣hot100:相交链表
前端·算法
Jay叶湘伦1 小时前
【极简】用 Vue 写一个 ChatGPT 前端应用,支持连续对话、Markdown 渲染与本地记忆
前端·vue.js·chatgpt
大家的林语冰1 小时前
《前端周刊》尤大官宣 Vite 8 稳定版首发!npm 新官网?React 官网更新。focusgroup 新功能!
前端·javascript·vite
kuuailetianzi1 小时前
构建企业级督办任务系统:Vue3 + TypeScript 实战(多级任务拆解+批量操作+进度追踪+单元格合并)
前端·javascript·typescript