在vue中解析md文档并显示

在vue中解析md文档并显示

一、首先引入几个解析包

【说明:】markdown-loaderhtml-loader是为了让vue能够解析md格式的文件,读取出来,

marked将读取出来的数据转换成html格式渲染到页面上。

github-markdown-css样式

npm install markdown-loader html-loader marked github-markdown-css -S

二、vue-cli 3 以下版本webpack.base.conf.js中配置,vue-cli 3 以上版本则在vue.config.js中配置

webpack.base.conf.js 配置

// 在 module > rules 中添加一条规则
module: {
    rules: [
        // 配置读取 *.md 文件的规则
        {
            test: /\.md$/,
             use: [
                { loader: 'html-loader' },
                { loader: 'markdown-loader', options: {} }
             ]
        }
    ]
}

vue.config.js 配置:

module.exports = {
  configureWebpack: {
    module: {
      rules: [
        // 配置读取 *.md 文件的规则
        {
          test: /\.md$/,
          use: [
            { loader: "html-loader" },
            { loader: "markdown-loader", options: {} }
          ]
        }
      ]
    }
  }
};

三、使用

在 main.js 中将 github-markdown-css 导入

import 'github-markdown-css';

在需要使用的地方,引入 marked,再将 md 文档交给它来解析,获得到解析后的 HTML 格式内容,再将解析后的内容渲染到页面上

<template>
    <div v-html="articalContent" class="markdown-body"></div>
</template>
<script>
export default {
  data() {
    return {
      articalContent: ""
    };
  },
  created() {
    this.$axios.get("/articles/test.md").then(res => {
		const marked = require("marked");
        const htmlMD = marked(res.data);
        this.articalContent = htmlMD;
      });
  }
};
</script>
<template>
	<div v-html="articalContent" class="markdown-body"></div>
</template>
<script>
import DemoMd from '../md/Vue组件化.md';
export default {
    data() {
        return {
            articalContent: ""
        };
    },
    mounted() {
        const { marked } = require("marked");
        this.articalContent = marked(DemoMd);
    }
};
</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端全栈分享站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值