返回顶部
首页 > 资讯 > 精选 >如何使用Vite2+Vue3渲染Markdown文档
  • 256
分享到

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

2023-06-20 19:06:57 256人浏览 薄情痞子
摘要

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

本篇内容主要讲解“如何使用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文档”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何使用Vite2+Vue3渲染Markdown文档

本文链接: https://lsjlt.com/news/299525.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用Vite2+Vue3渲染Markdown文档
    本篇内容主要讲解“如何使用Vite2+Vue3渲染Markdown文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Vite2+Vue3渲染Markdown文档”吧!目录自定义 Vite...
    99+
    2023-06-20
  • 使用Vite2+Vue3渲染Markdown文档的方法实践
    目录自定义 Vite 插件使用 vite-plugin-markdownImport Front Matter attributesImport compiled HTML (Mod...
    99+
    2024-04-02
  • 如何使用 Python 将渲染的 HTML 模板插入 Google 文档
    问题内容 我面临一个挑战,即使用 python 以编程方式将 html 模板插入到 google 文档中。我知道 google 文档编辑器或 google 文档 api 中没有原生/内...
    99+
    2024-02-11
  • Vue怎么使用Markdown文档
    这篇文章主要讲解了“Vue怎么使用Markdown文档”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue怎么使用Markdown文档”吧!1、首先下载mavon-editornpm&nbs...
    99+
    2023-07-05
  • 基于vite2+Vue3如何编写一个在线帮助文档工具
    本篇内容主要讲解“基于vite2+Vue3如何编写一个在线帮助文档工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于vite2+Vue3如何编写一个在线帮助文档工具”吧!技术栈vite: ^...
    99+
    2023-06-29
  • Vue使用Markdown文档的示例
    今天和家人们分享一下怎么在Vue中使用Markdown,我们在开发博客项目时会经常使用到。 接下来我们直接上代码 1、首先下载mavon-editor npm install mav...
    99+
    2023-05-13
    Vue Markdown文档 Vue Markdown
  • React条件渲染如何使用
    这篇文章主要介绍“React条件渲染如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React条件渲染如何使用”文章能帮助大家解决问题。我们先创建一个用于演示条件渲染的组件import&nbs...
    99+
    2023-07-04
  • 使用Go语言文档中的html/template.Execute函数渲染模板
    使用Go语言文档中的html/template.Execute函数渲染模板,需要具体代码示例在Web 应用程序的开发中,模板引擎是一个非常重要的部分。模板引擎可以通过将模板文件与数据进行合并,输出最终的 HTML 页面。同时,模板引擎可以将...
    99+
    2023-11-03
    Go语言 html/template Execute函数
  • vue3如何使用defineAsyncComponent与component标签实现动态渲染组件
    本篇内容介绍了“vue3如何使用defineAsyncComponent与component标签实现动态渲染组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2023-07-06
  • Vue列表渲染v-for如何使用
    这篇文章主要讲解了“Vue列表渲染v-for如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue列表渲染v-for如何使用”吧!列表渲染列表渲染的东西比较多,我们通过案例一步一步学习...
    99+
    2023-07-05
  • 如何在在Vue3中使用markdown 编辑器组件
    目录安装引入组件基础用法保存后的 markdown 或者 html 文本如何渲染在页面上?安装 # 使用 npm npm i @kangc/v-md-editor@next -S...
    99+
    2024-04-02
  • Golang GinWeb框架之如何使用静态文件/模板渲染
    这篇文章主要讲解了“Golang GinWeb框架之如何使用静态文件/模板渲染”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang GinWeb框架之...
    99+
    2024-04-02
  • 如何使用C++进行服务器端渲染?
    使用c++++实现服务器端渲染(ssr)具有以下优点:更快的初始页面加载时间更好的搜索引擎优化 (seo)访问服务器端资源和功能在c++中,可以使用poco库进行服务器端渲染:安装poc...
    99+
    2024-05-12
    c++ 服务器端渲染 搜索引擎优化
  • 如何使用React Router4实现服务端渲染ssr
    这篇文章将为大家详细讲解有关如何使用React Router4实现服务端渲染ssr,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们已经熟悉React 服务端渲染(SSR...
    99+
    2024-04-02
  • 如何使用分层画布来优化HTML5渲染
    本篇内容主要讲解“如何使用分层画布来优化HTML5渲染”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用分层画布来优化HTML5渲染”吧!简介通常情况下,在...
    99+
    2024-04-02
  • vue-cli3.0如何使用prerender-spa-plugin插件预渲染
    目录如何使用prerender-spa-plugin插件预渲染预渲染 prerender-spa-plugin尝试先说一下效果吧不好用的地方使用坑点如何使用prerender-spa...
    99+
    2024-04-02
  • vue3怎么使用defineAsyncComponent与component标签实现动态渲染组件
    本文小编为大家详细介绍“vue3怎么使用defineAsyncComponent与component标签实现动态渲染组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3怎么使用defineAsyncComponent与compone...
    99+
    2023-07-05
  • 怎么使用pandoc将Markdown转换为格式化文档
    小编给大家分享一下怎么使用pandoc将Markdown转换为格式化文档,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基本转换首先,在你的计算机上安装 pando...
    99+
    2023-06-16
  • vue如何将字符串的一部分处理为html文档并渲染到页面
    目录将字符串的一部分处理为html文档并渲染到页面应用场景需求概述核心思路 vue和react如何正常渲染一段html字符串1.react的方法:dangerouslySe...
    99+
    2024-04-02
  • Thymeleaf渲染网页时中文乱码如何解决
    这篇文章主要讲解了“Thymeleaf渲染网页时中文乱码如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Thymeleaf渲染网页时中文乱码如何解决”吧!Thymeleaf渲染网页时中...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作