需求:在vue项目中导入并展示markdown文件(使用的vue-cli3)

在网上搜索了挺久,还是插件vue-markdown-loader比较好用

安装 vue-markdown-loader

将markdown文件解析并编译成html文件

npm install vue-markdown-loader  -D

安装 vue-loader 、vue-template-compiler

将文件渲染成vue组件

npm install vue-loader  -D
npm install vue-template-compiler  -D

安装 github-markdown-css、highlight.js

美化样式、高亮代码

npm install github-markdown-css  -D
npm install highlight.js  -D

在vue.config.js中配置webpack

module.exports = {
  chainWebpack: config => {
    config.module.rule('md')
      .test(/\.md/)
      .use('vue-loader')
      .loader('vue-loader')
      .end()
      .use('vue-markdown-loader')
      .loader('vue-markdown-loader/lib/markdown-compiler')
      .options({
        raw: true
      })
  }
}

在main.js中引入样式文件

// markdown样式
import 'github-markdown-css'
// 代码高亮
import 'highlight.js/styles/github.css'

在vue组件中使用

将md文件作为组件导入,注意:class的值必须包含 markdown-body ,否则样式无法生效!

<template>
  <demo-md class="markdown-body"></demo-md>
</template>

<script>
import DemoMd from './demo.md';
export default {
  components: {
    DemoMd
  }
}
</script>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐