我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用Vite2+Vue3渲染Markdown文档

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用Vite2+Vue3渲染Markdown文档

本篇内容主要讲解“如何使用Vite2+Vue3渲染Markdown文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Vite2+Vue3渲染Markdown文档”吧!

目录
  • 自定义 Vite 插件

  • 使用 vite-plugin-markdown

    • Import Front Matter attributes

    • Import compiled HTML (Mode.HTML)

    • Import ToC metadata (Mode.TOC)

    • Import as a React component (Mode.REACT)

    • Import as a Vue component (Mode.VUE)

大部分使用 Vite2 的开发者遇到的一个问题,就是文档里并没有相关支持 Markdown 的介绍,那么如果想要在 Vite 项目中支持 Markdown 引入并渲染,需要怎么操作?这篇文章将介绍两种方式。

自定义 Vite 插件

如果去网上相关问题,大部分都是这种方式,就是自定义插件,使得 Vite 支持 Markdown 渲染,具体做法如下:

在项目根目录创建 md.js 文件,填充如下内容:

import path from 'path';import fs from 'fs';import marked from 'marked';const mdToJs = str => {  const content = JSON.stringify(marked(str));  return `export default ${content}`;};export function md() {  return {    configureServer: [ // 用于开发      async ({ app }) => {        app.use(async (ctx, next) => {          // 获取后缀为 .md 的文件,将他变为 js 文件          if (ctx.path.endsWith('.md')) {                         ctx.type = 'js';            const filePath = path.join(process.cwd(), ctx.path);            ctx.body = mdToJs(fs.readFileSync(filePath).toString());          } else {            await next();          }        });      },    ],    transforms: [{  // 用于 rollup      test: context => context.path.endsWith('.md'),      transform: ({ code }) => mdToJs(code)    }]  };}

接着修改 vite.config.js,引入上面创建的插件。

import {md} from './md';export default {  plugins: [md()]};

这样,在使用时,会将导入的 md 文件转换成 js 文件渲染。具体使用示例:

<template><article v-html="md" /></template><script lang="ts">import md from './xxx.md'export default {setup(){  return {md}    }}

使用 vite-plugin-markdown

这款第三方插件不仅支持引入并渲染 Markdown 文件,并且支持渲染成各种格式,例入 HTML 字符串、React 或 Vue 的组件等。
安装 vite-plugin-markdown。

npm i vite-plugin-markdown

在 vite.config.js 中修改:

const mdPlugin = require('vite-plugin-markdown')export default {  plugins: [    mdPlugin.plugin({      mode: ['html'],    })  ]}

配置中传入一个 options,选项对象,支持以下参数:

mode?: ('html' | 'toc' | 'react' | 'vue')[]

markdown?: (body: string) => string

markdownIt?: MarkdownIt | MarkdownIt.Options

各个模式下的渲染示例:

Import Front Matter attributes

---title: Awesome Titledescription: Describe this awesome contenttags:  - "great"  - "awesome"  - "rad"---# This is awesomeVite is an opinionated web dev build tool that serves your code via native ES Module imports during dev and bundles it with Rollup for production.import { attributes } from './contents/the-doc.md';console.log(attributes) //=> { title: 'Awesome Title', description: 'Describe this awesome content', tags: ['great', 'awesome', 'rad'] }

Import compiled HTML (Mode.HTML)

import { html } from './contents/the-doc.md';console.log(html) //=> "<h2>This is awesome</h2><p>ite is an opinionated web dev build tool that serves your code via native ES Module imports during dev and bundles it with Rollup for production.</p>"

Import ToC metadata (Mode.TOC)

# viteVite is an opinionated web dev build tool that serves your code via native ES Module imports during dev and bundles it with Rollup for production.## Status## Getting Started# Notesimport { toc } from './contents/the-doc.md'console.log(toc)//=> [{ level: '1', content: 'vite' }, { level: '2', content: 'Status' }, { level: '2', content: 'Getting Started' }, { level: '1', content: 'Notes' },]

Import as a React component (Mode.REACT)

import React from 'react'import { ReactComponent } from './contents/the-doc.md'function MyReactApp() {  return (    <div>      <ReactComponent />    </div>}

Import as a Vue component (Mode.VUE)

<template>  <article>    <markdown-content />  </article></template><script>import { VueComponent } from './contents/the-doc.md'export default {  components: {    MarkdownContent: VueComponent  }};</script>

到此,相信大家对“如何使用Vite2+Vue3渲染Markdown文档”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用Vite2+Vue3渲染Markdown文档

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用Vite2+Vue3渲染Markdown文档

本篇内容主要讲解“如何使用Vite2+Vue3渲染Markdown文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Vite2+Vue3渲染Markdown文档”吧!目录自定义 Vite
2023-06-20

如何使用 Python 将渲染的 HTML 模板插入 Google 文档

问题内容我面临一个挑战,即使用 python 以编程方式将 html 模板插入到 google 文档中。我知道 google 文档编辑器或 google 文档 api 中没有原生/内置功能可以解决我的问题,但我尝试了一些技巧来达到我的目标
如何使用 Python 将渲染的 HTML 模板插入 Google 文档
2024-02-11

基于vite2+Vue3如何编写一个在线帮助文档工具

本篇内容主要讲解“基于vite2+Vue3如何编写一个在线帮助文档工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于vite2+Vue3如何编写一个在线帮助文档工具”吧!技术栈vite: ^
2023-06-29

React条件渲染如何使用

这篇文章主要介绍“React条件渲染如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React条件渲染如何使用”文章能帮助大家解决问题。我们先创建一个用于演示条件渲染的组件import ./A
2023-07-04

使用Go语言文档中的html/template.Execute函数渲染模板

使用Go语言文档中的html/template.Execute函数渲染模板,需要具体代码示例在Web 应用程序的开发中,模板引擎是一个非常重要的部分。模板引擎可以通过将模板文件与数据进行合并,输出最终的 HTML 页面。同时,模板引擎可以将
使用Go语言文档中的html/template.Execute函数渲染模板
2023-11-03

vue3如何使用defineAsyncComponent与component标签实现动态渲染组件

本篇内容介绍了“vue3如何使用defineAsyncComponent与component标签实现动态渲染组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
2023-07-06

Vue列表渲染v-for如何使用

这篇文章主要讲解了“Vue列表渲染v-for如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue列表渲染v-for如何使用”吧!列表渲染列表渲染的东西比较多,我们通过案例一步一步学习
2023-07-05

如何使用C++进行服务器端渲染?

使用c++++实现服务器端渲染(ssr)具有以下优点:更快的初始页面加载时间更好的搜索引擎优化 (seo)访问服务器端资源和功能在c++中,可以使用poco库进行服务器端渲染:安装poco创建服务器端渲染代码:创建一个包含渲染逻辑的requ
如何使用C++进行服务器端渲染?
2024-05-12

如何使用eclipse生成java文档

1、Project下的Generate Javadoc选项2、Javadoc command:设置javadoc生成程序,一般来说是JDK目录下bin目录的javadoc.exe。然后选择要生成文档的java项目,然后选择文档输出目录3、下一步4、这一步设置的
如何使用eclipse生成java文档
2018-07-02

React如何使用axios请求数据并把数据渲染到组件

这篇文章主要介绍了React如何使用axios请求数据并把数据渲染到组件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

vue使用echarts时created里拿到的数据无法渲染如何解决

这篇文章主要介绍了vue使用echarts时created里拿到的数据无法渲染如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue使用echarts时created里拿到的数据无法渲染如何解决文章都会有
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录