啊哈,又是來推薦一個(gè) vuejs 的 package,miaolz123/vue-markdown。 對應(yīng)的應(yīng)用場景是:你想使用一個(gè)編輯器或者是在評論系統(tǒng)中支持 markdown。這個(gè) package 的有點(diǎn)還是挺多了,比如默認(rèn)就支持 emoji,這個(gè)就很完美啦!laravist 的新版就使用了 vue-markdown 來渲染評論。
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)與策劃設(shè)計(jì),赤峰網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:赤峰等地區(qū)。赤峰做網(wǎng)站價(jià)格咨詢:028-86922220
安裝
直接使用 npm 來安裝:
npm install --save vue-markdown
使用
也是很簡單的,可以直接這樣:
import VueMarkdown from 'vue-markdown' new Vue({ components: { VueMarkdown } })
或者是這樣,舉一個(gè)具象化的例子是:比如我們有一個(gè) Comment.vue 組件用來渲染評論,可以在這個(gè)組件中直接指明:
import VueMarkdown from 'vue-markdown';export default { // ... other codes props:['comment'], data(){ return { comment : this.comment } }, components: { VueMarkdown }, // ... other codes }
然后在渲染的時(shí)候這個(gè):
這里我們首先通過 comment props 傳入整個(gè) comment(這個(gè)comment其實(shí)就是一個(gè)對象) ,然后在 Comment.vue 通過 :source 來給 veu-markdown 組件傳入每個(gè)評論的 body 字段內(nèi)容,注意這里的 comment.body 在數(shù)據(jù)庫中保存的就是評論的 markdown 格式的內(nèi)容。
Vuejs服務(wù)器端渲染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: `` }); // 其他變量設(shè)置 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);
{{htmlTitle}}
總結(jié)
本文介紹的 vue-markdown 在某些應(yīng)用場景中其實(shí)超級(jí)好用,特別是對于評論系統(tǒng)想支持 markdown 這個(gè)需求來說,容易集成,優(yōu)點(diǎn)多多。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。