vue導(dǎo)入.md文件的步驟(markdown轉(zhuǎn)HTML)
前言
剛接到這個(gè)需求的時(shí)候,覺(jué)得很簡(jiǎn)單(的確很簡(jiǎn)單)但是這玩意的坑真的也讓人無(wú)奈。
網(wǎng)上找了很多的資料,都沒(méi)有寫(xiě)出痛點(diǎn)(這就很難過(guò)了)。通過(guò)實(shí)踐并且在我們項(xiàng)目中平穩(wěn)運(yùn)行,想分享給后面的人
我的博客上也寫(xiě)了100多篇文章,點(diǎn)擊量有上萬(wàn)的也有個(gè)位數(shù)的,能夠幫助到他人這就是寫(xiě)作記錄的動(dòng)力。
需求
vue項(xiàng)目中可以良好展示markdown(只是展示功能 沒(méi)有編輯功能)
痛點(diǎn)問(wèn)題
- .md文件類(lèi)型,直接模塊加載(只有字符串,這得多難受,怎么維護(hù)呢),還是一個(gè)文件一個(gè)文件的好維護(hù)并且好修改復(fù)用
- 用第三方插件,只是md轉(zhuǎn)HTML,不帶樣式的(重點(diǎn)強(qiáng)調(diào) 沒(méi)有樣式?jīng)]有樣式)
解決方案
一、vue需要有markdown這樣良好的展示效果,什么樣的插件是最好的?
貨比三家,我推薦以下方式
//安裝 npm install --save html-loader; npm install -- save markdown-loader; //webpack { test: /\.md$/, loader: "html-loader", }, { test: /\.md$/, loader: "markdown-loader" }
大坑預(yù)警:我不知道在哪里抄的配置,一定不要配置option(配置了的話表格 代碼 都不能好好轉(zhuǎn)化)
以上真的就完成了轉(zhuǎn)化了。是不是so easy ?。?! 再來(lái)?yè)Q個(gè)皮膚(穿上衣服)
二、一定要引用CSS,找了很多樣式真的都特別的丑(當(dāng)然可以自己寫(xiě),但是費(fèi)時(shí)間?。?/h3>
強(qiáng)烈推薦
npm install github-markdown-css import 'github-markdown-css'; //哪里用markdown 就在哪里引用 可以放在min.js //自己也可以再調(diào)整調(diào)整 (貢獻(xiàn)一版 我們調(diào)整的一版樣式) .markdown-body { padding: 20px; min-width: 200px; max-width: 900px; font-size: 12px; h2 { font-size: 18px; margin: 1em 0 15px; padding-top: 0.8em; padding-bottom: 0.8em; } h3 { font-size: 14px; margin: 22px 0 16px; } h4 { font-size: 13px; margin: 20px 0 16px; } h5 { font-size: 12px; margin: 16px 0 16px; font-weight: 700; } p { font-size: 12px; line-height: 24px; color: #666666; margin-top: 0px; margin: 8px 0; margin: 14px 0 14px; } pre { background-color: #eee; margin-bottom: 8px; margin-top: 8px; margin: 12px 0 12px; } blockquote { margin-bottom: 8px; margin-top: 8px; margin: 14px 0 14px; background-color: #eee; padding: 16px 16px; } tr { background-color: #f5f5f5; } code { background-color: #eee; } ul, ol, li { list-style: unset; font-size: 12px; line-height: 20px; color: #666666; margin-top: 0px; margin: 8px 0; } blockquote { border-color: #48b6e2; } table { display: table; width: 100%; max-width: 100%; margin-bottom: 20px; } }
三、頁(yè)面運(yùn)用(實(shí)踐檢驗(yàn)真理)
頁(yè)面 <template> <div class="markdown-body" v-html="htmlMD"></div> //markdown-body 一定要寫(xiě)這個(gè)class名 </template> <script> export default { name: 'GitBook', data() { return { htmlMD: '' }; }, mounted() { this.getHtmlMD(this.$route.query.databaseType); }, methods: { getHtmlMD(type) { this.htmlMD = require(`./GitBook/${type.toLowerCase()}.md`); //導(dǎo)入md 我這里根據(jù)不同的類(lèi)型拿不同md文件 } } }; </script>
四、最終效果 (表格,代碼(縮進(jìn)完全沒(méi)有問(wèn)題)我懶的去寫(xiě)一個(gè)實(shí)例了)打碼勿怪
以上就是vue導(dǎo)入.md文件的步驟(markdown轉(zhuǎn)HTML)的詳細(xì)內(nèi)容,更多關(guān)于vue 導(dǎo)入.md文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 一文詳解JavaScript?如何將?HTML?轉(zhuǎn)成?Markdown
- 使用jupyter notebook將文件保存為Markdown,HTML等文件格式
- python使用html2text庫(kù)實(shí)現(xiàn)從HTML轉(zhuǎn)markdown的方法詳解
- 將Swagger2文檔導(dǎo)出為HTML或markdown等格式離線閱讀解析
- CommonMark 使用教程:將 Markdown 語(yǔ)法轉(zhuǎn)成 Html
- python 自動(dòng)化將markdown文件轉(zhuǎn)成html文件的方法
- Markdown-it將Markdown文本解析轉(zhuǎn)換為HTML
相關(guān)文章
Vue.JS入門(mén)教程之事件監(jiān)聽(tīng)
這篇文章主要為大家詳細(xì)介紹了Vue.JS入門(mén)教程之事件監(jiān)聽(tīng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Vue3?$emit用法指南(含選項(xiàng)API、組合API及?setup?語(yǔ)法糖)
這篇文章主要介紹了Vue3?$emit用法指南,使用?emit,我們可以觸發(fā)事件并將數(shù)據(jù)傳遞到組件的層次結(jié)構(gòu)中,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07vue修改vue項(xiàng)目運(yùn)行端口號(hào)的方法
本篇文章主要介紹了vue修改vue項(xiàng)目運(yùn)行端口號(hào)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08vue項(xiàng)目遇見(jiàn)事件冒泡該如何處理詳解
冒泡事件處理是由內(nèi)而外發(fā)生的,例如有兩個(gè)父子div,給他們分別寫(xiě)上點(diǎn)擊事件,點(diǎn)擊子div先響應(yīng)的是子div,再是父div,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目遇見(jiàn)事件冒泡該如何處理的相關(guān)資料,需要的朋友可以參考下2023-04-04vue3?ref實(shí)現(xiàn)響應(yīng)式的方法
這篇文章主要介紹了vue3的ref是如何實(shí)現(xiàn)響應(yīng)式的,我們講了ref是如何實(shí)現(xiàn)響應(yīng)式的,主要分為兩種情況:ref接收的是number這種原始類(lèi)型、ref接收的是對(duì)象這種非原始類(lèi)型,需要的朋友可以參考下2024-07-07vue頁(yè)面設(shè)置滾動(dòng)失敗的完美解決方案(scrollTop一直為0)
這篇文章主要介紹了vue頁(yè)面設(shè)置滾動(dòng)失敗的解決方案(scrollTop一直為0),本文通過(guò)場(chǎng)景分析實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05Vue實(shí)現(xiàn)圖片預(yù)覽效果實(shí)例(放大、縮小、拖拽)
現(xiàn)在項(xiàng)目中有這樣的一個(gè)需求,對(duì)上傳的圖片可以點(diǎn)擊之后在線預(yù)覽,這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)圖片預(yù)覽效果實(shí)例(放大、縮小、拖拽)的相關(guān)資料,需要的朋友可以參考下2021-05-05Vue tagsview實(shí)現(xiàn)多頁(yè)簽導(dǎo)航功能流程詳解
基本上后臺(tái)管理系統(tǒng)都需要有多頁(yè)簽的功能,但是因?yàn)橐恍┠_手架項(xiàng)目基本都把這個(gè)功能給集成好了,導(dǎo)致在學(xué)習(xí)或者修改的時(shí)候不知道該如何下手。今天這篇文章就來(lái)聊一聊,vue-element-admin項(xiàng)目是如何實(shí)現(xiàn)多頁(yè)簽功能的2022-09-09