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

Einige Hinweise zu MySQL-Routineberechtigungen

1. Wenn der Benutzer über die Berechtigung zum Er...

Virtual Box-Tutorialdiagramm zum Duplizieren virtueller Maschinen

Nachdem man sich an VM gewöhnt hat, ist der Wechs...

Konfiguration der primären Netzwerk-Portzuordnung für Docker

Portzuordnung Wenn vor dem Start des Docker-Conta...

Tiefgreifendes Verständnis des Ereignisausführungsmechanismus von JavaScript

Inhaltsverzeichnis Vorwort Das Prinzip der asynch...

Miniprogramm zur Implementierung des Slider-Effekts

In diesem Artikelbeispiel wird der spezifische Co...

Vue 2.0 Grundlagen im Detail

Inhaltsverzeichnis 1. Funktionen 2. Beispiele 3. ...

Was sind Inline-Elemente und Blockelemente?

1. Inline-Elemente nehmen nur die Breite des Inhal...