前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在vue中解析md文档并显示

在vue中解析md文档并显示

原创
作者头像
前端小tips
发布2021-11-30 15:51:08
6.2K0
发布2021-11-30 15:51:08
举报
文章被收录于专栏:前端文章小tips

一、首先引入几个解析包

代码语言:javascript
复制
npm install markdown-loader html-loader marked -S --registry=https://registry.npm.taobao.org

【说明:】markdown-loaderhtml- loader是为了让vue能够解析md格式的文件,读取出来,然后使用marked将读取出来的数据转换成html格式渲染到页面上。使用marked是为了使用更方便。

二、配置 webpack.base.conf.js,如果使用的是 vue-cli 3 以上版本则在vue.config.js中配置

webpack.base.conf.js 配置:在 module > rules 中添加一条规则

代码语言:javascript
复制
module: {
    rules: [
        // 配置读取 *.md 文件的规则
        {
            test: /\.md$/,
             use: [
                { loader: 'html-loader' },
                { loader: 'markdown-loader', options: {} }
             ]
        }
    ]
}

vue.config.js 配置:

代码语言:javascript
复制
const path = require("path");
module.exports = {
  configureWebpack: {
    module: {
      rules: [
        // 配置读取 *.md 文件的规则
        {
          test: /\.md$/,
          use: [
            { loader: "html-loader" },
            { loader: "markdown-loader", options: {} }
          ]
        }
      ]
    }
  }
};

三、使用

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

代码语言:javascript
复制
<template>
  <div>
    <div>文档</div>
    <div v-html="articalContent"></div>
  </div>
</template>
​
<script>
const marked = require("marked");
export default {
  data() {
    return {
      articalContent: ""
    };
  },
  created() {
    this.$axios.get("/articles/test.md").then(res => {
        const htmlMD = marked(res.data);
​
        this.articalContent = htmlMD;
      });
  }
};
</script>

四、样式

到现在为止,只是将文档正确解析并显示到了页面上,但是没有任何样式,我们可以再给渲染的内容加上样式,比如使用 github 的样式:

代码语言:javascript
复制
npm install github-markdown-css -S --registry=https://registry.npm.taobao.org

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

代码语言:javascript
复制
import 'github-markdown-css';

在相应容器添加markdown_body样式

代码语言:javascript
复制
<div v-html="articalContent" class="markdown-body"></div>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、首先引入几个解析包
  • 二、配置 webpack.base.conf.js,如果使用的是 vue-cli 3 以上版本则在vue.config.js中配置
  • 三、使用
  • 四、样式
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档