啊哈,又是來推薦一個 vuejs 的 package,miaolz123/vue-markdown。 對應的應用場景是:你想使用一個編輯器或者是在評論系統中支持 markdown。這個 package 的有點還是挺多了,比如默認就支持 emoji,這個就很完美啦!laravist 的新版就使用了 vue-markdown 來渲染評論。
創新互聯建站是一家專注于成都網站制作、做網站、外貿營銷網站建設與策劃設計,赤峰網站建設哪家好?創新互聯建站做網站,專注于網站建設10年,網設計領域的專業建站公司;建站業務涵蓋:赤峰等地區。赤峰做網站價格咨詢:028-86922220
安裝
直接使用 npm 來安裝:
npm install --save vue-markdown
使用
也是很簡單的,可以直接這樣:
import VueMarkdown from 'vue-markdown' new Vue({ components: { VueMarkdown } })
或者是這樣,舉一個具象化的例子是:比如我們有一個 Comment.vue 組件用來渲染評論,可以在這個組件中直接指明:
import VueMarkdown from 'vue-markdown'; <template> <div> <vue-markdown :source="comment.body"></vue-markdown> </div> </template> export default { // ... other codes props:['comment'], data(){ return { comment : this.comment } }, components: { VueMarkdown }, // ... other codes }
然后在渲染的時候這個:
<div class="comments"> <div class="comments" v-for="comment in comments"> <comment :comment="comment"> </comment> </div> </div>
這里我們首先通過 comment props 傳入整個 comment(這個comment其實就是一個對象) ,然后在 Comment.vue 通過 :source 來給 veu-markdown 組件傳入每個評論的 body 字段內容,注意這里的 comment.body 在數據庫中保存的就是評論的 markdown 格式的內容。
Vuejs服務器端渲染markdown示例
const Koa = require('koa'); const _ = require('koa-route'); const vsr = require('vue-server-renderer'); const fs = require('fs'); const indexjs = require('./component/index.js'); const Vue = require('vue'); const MD = require('markdown-it') const server = new Koa(); const route = { index: (ctx, id) => { // 解析markdown const md = new MD().render(fs.readFileSync('./markdown/' + id + '.md', 'utf-8')); // vue插入html代碼 const app = new Vue({ data: { main: md }, template: ` <div> <div class="main" v-html="main"></div> </div>` }); // 其他變量設置 const context = { htmlTitle: id }; // 加載模板html文件 const renderer = vsr.createRenderer({ template: fs.readFileSync('./template/index.template.html', 'utf-8') }); // 渲染 renderer.renderToString(app, context, (err, html) => { if (err) { ctx.response.status = 500; } else { ctx.response.body = html; } }) } }; server.use(_.get('/post/:id', route.index)); server.listen(8080);
<!DOCTYPE html> <html lang="CH-ZN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>{{htmlTitle}}</title> </head> <body> <!--vue-ssr-outlet--> </body> </html>
總結
本文介紹的 vue-markdown 在某些應用場景中其實超級好用,特別是對于評論系統想支持 markdown 這個需求來說,容易集成,優點多多。希望對大家的學習有所幫助,也希望大家多多支持創新互聯。
分享名稱:Vuejs中使用markdown服務器端渲染的示例
鏈接URL:http://vcdvsql.cn/article30/jhiipo.html
成都網站建設公司_創新互聯,為您提供移動網站建設、企業網站制作、小程序開發、微信公眾號、建站公司、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯