Vite2 を使用するほとんどの開発者が遭遇する問題は、ドキュメントに Markdown のサポートについての説明がないことです。では、Vite プロジェクトで Markdown のインポートとレンダリングをサポートしたい場合はどうすればよいでしょうか?この記事では2つの方法を紹介します。 カスタム Vite プラグインネット上の関連質問を見ると、ほとんどがこのやり方、つまり、Vite で Markdown レンダリングをサポートするためのカスタム プラグインに関するものです。具体的な手順は次のとおりです。 プロジェクトのルート ディレクトリに md.js ファイルを作成し、次の内容を入力します。 'path' からパスをインポートします。 'fs' から fs をインポートします。 'marked' から marked をインポートします。 const mdToJs = str => { const コンテンツ = JSON.stringify(marked(str)); `export default ${content}` を返します。 }; エクスポート関数md() { 戻る { configureServer: [ // 開発用 async ({ app }) => { app.use(async (ctx, next) => { // .md という拡張子のファイルを取得し、それを js ファイルに変換します if (ctx.path.endsWith('.md')) { ctx.type = 'js'; 定数 filePath = path.join(process.cwd(), ctx.path); ctx.body = mdToJs(fs.readFileSync(filePath).toString()); } それ以外 { 次の()を待ちます。 } }); }, ]、 変換: [{ // ロールアップ用 テスト: context => context.path.endsWith('.md'), 変換: ({ code }) => mdToJs(code) }] }; } 次に、vite.config.js を変更し、上記で作成したプラグインをインポートします。 './md' から {md} をインポートします。 エクスポートデフォルト{ プラグイン: [md()] }; この方法を使用すると、インポートされた md ファイルはレンダリング用の js ファイルに変換されます。具体的な使用例: <テンプレート> <記事 v-html="md" /> </テンプレート> <script lang="ts"> './xxx.md' から md をインポートします エクスポートデフォルト{ 設定(){ {md} を返す } } vite-plugin-markdownの使用このサードパーティ製プラグインは、Markdown ファイルのインポートとレンダリングをサポートするだけでなく、HTML 文字列、React または Vue コンポーネントなどのさまざまな形式へのレンダリングもサポートします。 npm と vite-plugin-markdown vite.config.js で変更します: const mdPlugin = require('vite-plugin-markdown') エクスポートデフォルト{ プラグイン: [ mdPlugin.plugin({ モード: ['html'], }) ] } オプション オブジェクトが構成に渡され、次のパラメーターがサポートされます。
各モードでのレンダリング例: Front Matter属性をインポートする--- タイトル: 素晴らしいタイトル 説明: この素晴らしいコンテンツについて説明してください タグ: - "素晴らしい" - "素晴らしい" - 「すごい」 --- # これはすごい Vite は、開発中にネイティブ ES モジュールのインポートを介してコードを提供し、本番環境用に Rollup とバンドルする、独自の Web 開発ビルド ツールです。 './contents/the-doc.md' から { 属性 } をインポートします。 console.log(attributes) //=> { title: '素晴らしいタイトル', description: 'この素晴らしいコンテンツを説明してください', tags: ['素晴らしい', '素晴らしい', '素晴らしい'] } コンパイルされた HTML (Mode.HTML) をインポートする'./contents/the-doc.md' から { html } をインポートします。 コンソール.log(html) //=> "<h1>これは素晴らしい</h1><p>ite は、開発中にネイティブ ES モジュールのインポートを介してコードを提供し、本番環境用に Rollup とバンドルする、独自の Web 開発ビルド ツールです。</p>" ToC メタデータをインポートする (Mode.TOC)# バイト Vite は、開発中にネイティブ ES モジュールのインポートを介してコードを提供し、本番環境用に Rollup とバンドルする、独自の Web 開発ビルド ツールです。 ## 状態 ## はじめる # 注記 './contents/the-doc.md' から { toc } をインポートします。 コンソール.log(toc) //=> [{ レベル: '1', コンテンツ: 'vite' }, { レベル: '2', コンテンツ: 'ステータス' }, { レベル: '2', コンテンツ: 'はじめに' }, { レベル: '1', コンテンツ: 'メモ' },] React コンポーネントとしてインポート (Mode.REACT)'react' から React をインポートします './contents/the-doc.md' から { ReactComponent } をインポートします。 関数MyReactApp() { 戻る ( <div> <Reactコンポーネント /> </div> } Vue コンポーネントとしてインポート (Mode.VUE)<テンプレート> <記事> <マークダウンコンテンツ /> </記事> </テンプレート> <スクリプト> './contents/the-doc.md' から { VueComponent } をインポートします。 エクスポートデフォルト{ コンポーネント: マークダウンコンテンツ: VueComponent } }; </スクリプト> 最後にVite2+Vue3を使用してMarkdown文書をレンダリングする実践に関するこの記事はこれで終わりです。より関連性の高いVite2+Vue3レンダリングMarkdownコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMを応援してください。 以下もご興味があるかもしれません:
|
>>: MySQL インデックス使用状況監視スキル (収集する価値あり!)
jdk をインストールします: Oracle 公式ダウンロード https://www.oracl...
この記事は、VMware Workstation 12 ProのインストールLinuxチュートリアル...
目次概要オブジェクトの残り属性オブジェクトの拡張プロパティオブジェクトの浅いコピーを作成するkeyo...
多くの組織ではファイル サーバーをバックアップする必要があり、あるサーバーから別のファイル サーバー...
目次序文1. これを使用してデータ内のデータを読み取るプロセス2. Dep.target はいつ存在...
フロントエンドは、技術が急速に進化するだけでなく、知っておくべき事柄が多すぎるという理由で大変な仕事...
略語を使用すると、CSS ファイルのサイズが小さくなり、読みやすくなります。 CSS 省略形の主なル...
最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...
目次序文スタイル機能説明初期化コードイベントリスナーの追加リスナーツールバーモニターテーブル行ツール...
ウェブページを作成するときに、フォームを挿入した後、フォームの上下に空白行が表示されることがよくあり...
クリックハウスの紹介ClickHouse は、SQL クエリを使用して分析データ レポートをリアルタ...
実験コードは次のとおりです。 </head> <body> <div ...
この記事では、Linux ファイル管理コマンドについて例を挙げて説明します。ご参考までに、詳細は以下...
直接コード: タイプとして「bigint unsigned」、バイトとして「8」、max_numとし...
背景PNG 画像は jpg 画像よりも多くのストレージスペースを占有しますが、PNG 画像の品質は大...