当前位置: 首页 > Web前端 > HTML

Vue3解析markdwon生成文章

时间:2023-03-27 23:42:54 HTML

鐩镐俊澶у閮藉凡缁忕煡閬搈arkdown鏄粈涔堜簡銆傛槸绋嬪簭鍛樺繀澶囩殑鏂囨。鏍煎紡銆傚彲浠ユ敮鎸佷唬鐮侀珮浜€佽〃鏍笺€佸浘鐗囥€佽棰戠瓑鏂囨。鏍煎紡馃榾馃榾浣嗘槸vue3涓浣曡В鏋恗arkdown鏂囦欢鍛紵馃馃馃鏁堟灉瑙佹晥鏋滃浘銆傞€氳繃璇锋眰鑾峰彇markdown婧愭枃浠讹紝鐒跺悗瑙f瀽鎴愭櫘閫氱殑html鏄剧ず鍦ㄩ〉闈笂銆傜洰鍓嶇殑鏁堟灉鍙互鍦ㄥ湪绾挎枃妗d腑鏌ョ湅銆傛垜浠彲浠ユ妸markdown鏂囦欢瑙f瀽鎴恏tml鐨勬暣涓繃绋嬫媶鍒嗘垚濡備笅鍑犱釜姝ラ锛氳幏鍙杕arkdown婧愭枃浠跺皢markdown杞崲涓篽tml缇庡寲鏍峰紡鑾峰彇markdown鍐呭markdown.md鏄竴涓枃浠讹紝閭d箞濡備綍鑾峰彇markdownw涓殑鍐呭鍛紵鍦ㄥ仛绗竴姝ョ殑鏃跺€欐兂闂竴涓棶棰橈紝濡備綍鑾峰彇鏈湴json鏂囦欢鐨勫唴瀹瑰憿锛熼€氳繃棰樺瀷杞崲锛屽ぇ瀹惰偗瀹氱煡閬撴€庝箞鑾峰彇鏈湴鐨刯son鍐呭浜嗏€斺€旈€氳繃fetch鑾峰彇馃榾馃榿馃榿馃榿閭d箞鎴戜滑鍙互杩欐牱鍐欎唬鐮侊細fetch('./xxxx.json',{method:'GET',mode:'cors'//鍏佽鍙戦€佽法鍩熻姹倉).then(function(response){//鎵撳嵃杩斿洖鐨刯son鏁版嵁response.json().then(function(data){//鑾峰彇json鏂囦欢鍐呭})}).catch(function(e){//澶辫触鍚庣殑寮傚父澶勭悊})鏃㈢劧鍙互杩欐牱鑾峰彇json锛岄偅鑳戒笉鑳借繖鏍疯幏鍙杕arkdown.md鍛紵鍚岀悊锛屾垜浠篃鍙互杩欐牱灏濊瘯锛屼絾鏄偗瀹氭湁涓€涓湴鏂归渶瑕佷慨鏀癸紝閭e氨鏄痳esponse.json()锛宮arkdown鏂囦欢涓殑杩斿洖鑲畾涓嶆槸json鏂囦欢锛岃€屾槸鏅€氱殑鏂囨湰锛岀劧鍚庝綘鍙互鍐欎笅闈㈢殑浠g爜锛歠etch(route.query.pathasstring,{method:'GET',mode:'cors',//鍏佽鍙戦€佽法鍩熻姹傚嚟璇乤ls:'include',headers:{'Content-Type':'text/plain'}}).then(asyncfunction(response){//鎵撳嵃杩斿洖鐨刯son鏁版嵁response.text().then((data)=>{//鑾峰彇markdown鍐呭})}).catch(function(e){//鑾峰彇澶辫触鐨勫紓甯告崟鑾穧)effect瑙f瀽鎴恏tml濡傚浘鑾峰彇markdown鍐呭鍚庯紝闇€瑕佽瑙f瀽鎴愭甯哥殑html锛岄偅涔堣繖涓€姝ユ€庝箞鍋氬憿锛熷畨瑁呬竴涓В鏋恗arkdown璇硶鐨勫寘锛歯pminstallmarked-Smarked鐨勪粙缁嶅涓嬶細绠€鍗曟潵璇村氨鏄竴涓负浜嗛€熷害鐨勪綆绾х紪璇戝櫒锛岀敤浜庤В鏋愰潪缂撳瓨鎴栬€呴暱鏈熼樆濉炵殑鏍囪銆傝交閲忕骇锛屽悓鏃跺疄鐜颁簡鎵€鏈塎arkdown鍔熻兘鍦ㄦ祻瑙堝櫒銆佹湇鍔″櫒鎴栧懡浠よ鐣岄潰(CLI)涓粠鏀寔鐨勯鏍煎拰瑙勮寖涓伐浣滃綋鐒讹紝璇ヨ蒋浠跺寘杩樻彁渚涗簡鍦ㄧ嚎婕旂ず锛氭紨绀洪〉闈娇鐢ㄥ涓嬶細import{marked}from'marked'//鏍囪閫夐」marked.setOptions({pedantic:false,gfm:true,breaks:false,sanitize:false,smartLists:true,smartypants:false,xhtml:false,})consthtmlStr=marked('markdowncontent')杩欎竴姝ワ紝椤甸潰鐨刪tml灏卞嚭鏉ヤ簡锛屽彲浠ョ湅鍒板涓嬫晥鏋滐細缇庡寲浠g爜缁忚繃涓婇潰涓ゆ锛屾覆鏌撲簡鍒濆鐨刪tml鍐呭锛屼絾鏄湁娌℃湁璇昏€呮効鎰忕湅杩欐牱鐨勬晥鏋滐紵鎺ヤ笅鏉ワ紝璁╂垜浠編鍖栦竴涓嬫垜浠殑浠g爜銆備唬鐮佺編鍖栨湁鍑犵鏂瑰紡锛氬弬鑰冪幇鍦篶ss鎵嬪姩瀹炵幇css缇庡寲鏄痗ss鐨勪笉瓒仇煠楌煠楌煠楄繖閲屽厛瀹炵幇涓€涓猤ithubmarkdown鏍峰紡銆俫ithub鐨刴arkdowncss鏂囦欢宸茬粡鍙敤搴撳凡缁忓噯澶囧ソ浜嗭紝鎴戜滑鍙渶瑕佽窡鐫€瀹冿細npminstallgithub-markdown-css鏈変簡杩欎釜锛屾垜浠氨鍙互杞绘澗鎼炲畾浜嗭紝淇敼浠g爜锛歩mport'github-markdown-css'鏄殑锛屽氨杩欎箞绠€鍗曪紝鍙渶瑕佸鍏ヨ繖涓寘灏辨槸浣犻渶瑕佺殑锛岃繕鍙互杈惧埌浠ヤ笅鏁堟灉锛氱暘澶栬浜嗚繖涔堝锛岃閫佷綘涓€娉㈢鍒煄夆湪鉁紝澶浜嗭紝浣犵煡閬撴€庝箞缇庡寲浠g爜鏍煎紡鍚楋紵馃榿馃榿馃榿