第一步
安装html-loader和markdown-loader以及marked
npm i html-loader markdown-loader -D
npm i marked -save
第二步
在vue.config.js中配置两个loader
const path = require("path");
const marked = require("marked");
const renderer = new marked.Renderer();
module.exports = {
productionSourceMap: false,
chainWebpack: config => {
config.module.rule('md')
.test(/\.md/)
.use('html-loader')
.loader('html-loader')
.end()
.use('markdown-loader')
.loader('markdown-loader')
.options({
pedantic: true,
renderer
})
}
}
第三步
使用v-html,以便将markDown解析后产生的html显示在页面上
<template>
<div class="ys-introduction">
<div class="card">
<div v-html="contentText"></div>
</div>
</div>
</template>
<script>
import marked from "marked";
export default {
name: "YuShengIntroduction",
data() {
return {};
},
computed: {
contentText() {
return marked(require("@/assets/baseInfo.md"));
}
}
};
</script>
自定义规则
markdown-loader使用的是marked插件,因此我们同样可以使用marked的选项与方法。
我的需求是在解析表格的时候,不解析成table标签,而是解析成el-table。el-table是element-ui的表格组件,它更美观一些。具体做法这篇博客有介绍。
https://www.cnblogs.com/djtao/p/6224399.html