Vuejs中使用markdown服务器端渲染的示例
网络编程 2021-07-04 17:33www.168986.cn编程入门
这篇文章主要介绍了Vuejs 中使用 markdown的示例,长沙网络推广觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
啊哈,又是来推荐一个 vuejs 的 package,miaolz123/vue-markdown。 对应的应用场景是你想使用一个编辑器或者是在评论系统中支持 markdown。这个 package 的有点还是挺多了,比如默认就支持 emoji,这个就很完美啦!laravist 的新版就使用了 vue-markdown 来渲染评论。
安装
直接使用 npm 来安装
npm install --save vue-markdown
使用
也是很简单的,可以直接这样
import VueMarkdown from 'vue-markdown' new Vue({ ponents: { VueMarkdown } })
或者是这样,举一个具象化的例子是比如我们有一个 Comment.vue 组件用来渲染评论,可以在这个组件中直接指明
import VueMarkdown from 'vue-markdown'; <template> <div> <vue-markdown :source="ment.body"></vue-markdown> </div> </template> export default { // ... other codes props:['ment'], data(){ return { ment : this.ment } }, ponents: { VueMarkdown }, // ... other codes }
然后在渲染的时候这个
<div class="ments"> <div class="ments" v-for="ment in ments"> <ment :ment="ment"> </ment> </div> </div>
这里我们通过 ment props 传入整个 ment(这个ment其实就是一个对象) ,然后在 Comment.vue 通过 :source 来给 veu-markdown 组件传入每个评论的 body 字段内容,注意这里的 ment.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('./ponent/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 这个需求来说,容易集成,优点多多。希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:详解如何在angular2中获取节点
下一篇:浅谈Vue-cli 命令行工具分析
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指