最近项目需要做一个能在线预览docx,pdf,md,MP4等文件,其中md文件通过调研发现使用markdown-it-vue组件挺好用的
markdown-it-vue
安装插件markdown-it-vue
npm install markdown-it-vue
在页面引入
<template>
<div class="md-content">
<markdown-it-vue class="md-body" />
</div>
</template>
import MarkdownItVue from "markdown-it-vue";
import "markdown-it-vue/dist/markdown-it-vue.css";
export default {
components: {
MarkdownItVue,
},
};
</script>
引入好组件之后,通过md文件url请求回md文件,把值赋予给htmlMD,在markdown-it-vue标签中通过content绑定上文件流就可以展示
完整代码
<template>
<div class="md-content">
<markdown-it-vue class="md-body" :content="htmlMD" />
</div>
</template>
<script>
import axios from "axios";
import MarkdownItVue from "markdown-it-vue";
import "markdown-it-vue/dist/markdown-it-vue.css";
export default {
data() {
return {
htmlMD: "",//md文件
};
},
components: {
MarkdownItVue,
},
created() {
//文件上传到minio,通过获取的文件url请求md文件
axios
.get(
"http://192.168.1.50:8080/profile/upload/2023-12-29/20231229143140A003.md"
)
.then((response) => {
this.htmlMD = response.data;
console.log(this.htmlMD);
});
},
};
</script>
<style></style>