Praxis der Verwendung von Vite2+Vue3 zum Rendern von Markdown-Dokumenten

Praxis der Verwendung von Vite2+Vue3 zum Rendern von Markdown-Dokumenten

Ein Problem, auf das die meisten Entwickler bei der Verwendung von Vite2 stoßen, ist, dass die Dokumentation keine Einführung in die Unterstützung von Markdown enthält. Was sollten Sie also tun, wenn Sie den Import und die Darstellung von Markdown im Vite-Projekt unterstützen möchten? Dieser Artikel stellt zwei Methoden vor.

Benutzerdefinierte Vite-Plugins

Wenn Sie sich verwandte Fragen online ansehen, sind die meisten davon so, d. h. benutzerdefinierte Plug-Ins, damit Vite Markdown-Rendering unterstützt. Die spezifischen Schritte sind wie folgt:

Erstellen Sie eine md.js-Datei im Stammverzeichnis des Projekts und füllen Sie sie mit dem folgenden Inhalt:

Pfad von „Pfad“ importieren;
importiere fs von „fs“;
Markiertes von „markiert“ importieren;

const mdToJs = str => {
  const Inhalt = JSON.stringify(markiert(str));
  gibt `export default ${content}` zurück;
};

Exportfunktion md() {
  zurückkehren {
    configureServer: [ // Für die Entwicklung async ({ app }) => {
        app.use(async (ctx, next) => {
          // Holen Sie sich die Datei mit der Endung .md und wandeln Sie sie in eine JS-Datei um, wenn (ctx.path.endsWith('.md')) {             
            ctx.Typ = "js";
            const filePath = Pfad.Join(process.cwd(), ctx.Pfad);
            ctx.body = mdToJs(fs.readFileSync(filePath).toString());
          } anders {
            warte auf das nächste();
          }
        });
      },
    ],
    transforms: [{ // für Rollup
      Test: Kontext => Kontext.Pfad.endsWith('.md'),
      transformieren: ({ Code }) => mdToJs(Code)
    }]
  };
}

Ändern Sie dann vite.config.js und importieren Sie das oben erstellte Plugin.

importiere {md} von './md';

Standard exportieren {
  Plugins: [md()]
};

Auf diese Weise wird die importierte MD-Datei bei Verwendung zum Rendern in eine JS-Datei konvertiert. Konkrete Anwendungsbeispiele:

<Vorlage>
<Artikel v-html="md" />
</Vorlage>

<script lang="ts">
importiere md aus './xxx.md'
Standard exportieren {
aufstellen(){

  Rückkehr {md}
  
  }
}

Verwenden von vite-plugin-markdown

Dieses Drittanbieter-Plugin unterstützt nicht nur den Import und das Rendern von Markdown-Dateien, sondern auch das Rendern in verschiedene Formate, wie etwa HTML-Strings, React- oder Vue-Komponenten usw.
Installieren Sie vite-plugin-markdown.

npm und vite-plugin-markdown

Ändern Sie in vite.config.js:

const mdPlugin = erfordern('vite-plugin-markdown')

Standard exportieren {
  Plugins: [
    mdPlugin.plugin({
      Modus: ['html'],
    })
  ]
}

An die Konfiguration wird ein Optionsobjekt übergeben, das folgende Parameter unterstützt:

Modus?: ('html' | 'toc' | 'reagieren' | 'vue')[]

Markdown?: (Text: Zeichenfolge) => Zeichenfolge

markdownIt?: MarkdownIt | MarkdownIt.Optionen

Rendering-Beispiele in jedem Modus:

Importieren von Front Matter-Attributen

---
Titel: Toller Titel
Beschreibung: Beschreiben Sie diesen tollen Inhalt
Stichworte:
  - "Großartig"
  - "Eindrucksvoll"
  - "rad"
---
# Das ist großartig
Vite ist ein eigensinniges Build-Tool für die Webentwicklung, das Ihren Code während der Entwicklung über native ES-Modulimporte bereitstellt und ihn für die Produktion mit Rollup bündelt.

importiere { Attribute } aus './contents/the-doc.md';

console.log(Attribute) //=> { Titel: 'Toller Titel', Beschreibung: 'Beschreiben Sie diesen tollen Inhalt', Tags: ['großartig', 'toll', 'cool'] }

Kompiliertes HTML importieren (Mode.HTML)

importiere { html } aus './contents/the-doc.md';

konsole.log(html) 
//=> „<h1>Das ist großartig</h1><p>Es ist ein eigensinniges Web-Entwicklungstool, das Ihren Code während der Entwicklung über native ES-Modulimporte bereitstellt und ihn für die Produktion mit Rollup bündelt.</p>“

Inhaltsverzeichnis-Metadaten importieren (Mode.TOC)

# einladen

Vite ist ein eigensinniges Build-Tool für die Webentwicklung, das Ihren Code während der Entwicklung über native ES-Modulimporte bereitstellt und ihn für die Produktion mit Rollup bündelt.

## Status

## Erste Schritte

# Anmerkungen

importiere { toc } aus './contents/the-doc.md'

Konsole.log(Inhaltsverzeichnis)
//=> [{ level: '1', content: 'vite' }, { level: '2', content: 'Status' }, { level: '2', content: 'Erste Schritte' }, { level: '1', content: 'Notizen' },]

Als React-Komponente importieren (Mode.REACT)

React von „react“ importieren
importiere { ReactComponent } aus './contents/the-doc.md'

Funktion MyReactApp() {
  zurückkehren (
    <div>
      <ReactComponent />
    </div>
}

Als Vue-Komponente importieren (Mode.VUE)

<Vorlage>
  <Artikel>
    <Markdown-Inhalt />
  </Artikel>
</Vorlage>

<Skript>
importiere { VueComponent } aus './contents/the-doc.md'

Standard exportieren {
  Komponenten:
    Markdown-Inhalt: VueComponent
  }
};
</Skript>

Abschließende Gedanken

Dies ist das Ende dieses Artikels über die Verwendung von Vite2+Vue3 zum Rendern von Markdown-Dokumenten. Weitere relevante Vite2+Vue3-Inhalte zum Rendern von Markdown finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Implementierungsmethode für die Kapselung von Vue3-Navigationsleistenkomponenten
  • Vue3 Vue-Ereignisbehandlungshandbuch
  • Ausführliche Erläuterung der Stilfunktion in Vue3-Einzeldateikomponenten
  • vue3.0 + echarts realisiert dreidimensionales Säulendiagramm
  • Dieser Artikel zeigt Ihnen, wie Sie Vue 3.0 responsive verwenden
  • Detaillierte Erläuterung des zugrunde liegenden Prinzips von defineCustomElement, hinzugefügt in vue3.2
  • Vue3 + TypeScript-Entwicklungszusammenfassung
  • Vue3+TypeScript implementiert ein vollständiges Beispiel einer rekursiven Menükomponente
  • Vue3 implementiert eine ToDo-Liste
  • Vue3+Skript-Setup+ts+Vite+Volar-Projekt
  • So implementieren Sie die Wiederverwendung von Logik mit der Vue3-Kompositions-API
  • Vue3 realisiert den Bildlupeneffekt
  • Implementierung der schnellen Projektkonstruktion von vue3.0+vant3.0
  • Schnellstart der Vue3-Dokumentation

<<:  Verwendung des Linux-Befehls „cal“

>>:  Kenntnisse zur Überwachung der MySQL-Indexnutzung (es lohnt sich, sie zu erwerben!)

Artikel empfehlen

202 kostenlose, hochwertige XHTML-Vorlagen (2)

Nach dem vorherigen Artikel 202 kostenlose hochwe...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...

Häufig verwendete JS-Funktionsmethoden im Frontend

Inhaltsverzeichnis 1. E-Mail 2. Mobiltelefonnumme...

Erläuterung der Konfiguration und Verwendung der MySQL-Speicher-Engine InnoDB

MyISAM und InnoDB sind die gängigsten Speicher-En...

Der gesamte Prozess der Installation von mysql5.7.22 unter der ARM64-Architektur

MySQL-Download-Adresse: https://obs.cn-north-4.my...

Tutorial zur Installation von MySQL 8.0.18 unter Windows (Community Edition)

In diesem Artikel wird kurz die Installation von ...

Detaillierte Diskussion zum Thema mysqldump-Datenexport

1. Bei der Verwendung von mysqldump wird ein Fehl...

So verwenden Sie die Typerweiterung ohne Typingscript

Vorwort Aufgrund der schwachen Typisierung von JS...

So wenden Sie TypeScript-Klassen in Vue-Projekten an

Inhaltsverzeichnis 1. Einleitung 2. Verwendung 1....

Quellcode der HTML-Einstellungen für die Benutzerregistrierungsseite

Gestalten Sie die oben gezeigte Webseite: <!DOC...

Grundlagen der HTML-Bearbeitung (ein Muss für Anfänger)

Öffnen Sie DREAMWEAVER und erstellen Sie ein neue...