实现Vue的markdown文档可以在线运行的方法示例


Posted in Javascript onDecember 11, 2018

markdown 文档中Vue代码 可执行啦,而且可以边看边执行。这样就可以用markdown文档的形式,写自己的Vue博客了, 可以方便介绍自己的原创组件,很酷的执行。

Github

https://github.com/zhangKunUserGit/vue-markdown-run

DEMO

https://zhangkunusergit.github.io/vue-markdown-run/dist/

安装

npm install vue-markdown-run --save

用法

(1)完整引入

// 引入
import MarkdownRun from 'vue-markdown-run';
// 全局注入
Vue.use(MarkdownRun);

(2)按需引入

借助 babel-plugin-component ,我们可以只引入需要的组件,以达到减小项目体积的目的。

首先,安装 babel-plugin-component:

npm install babel-plugin-component -save-dev

然后,将 .babelrc 修改为:

{
 "plugins": [
  [
   "component",
   {
    "libraryName": "vue-markdown-run",
    "styleLibraryName": "theme"
   }
  ]
 ]
}

接下来,如果你只需引入部分组件,写入以下内容:

import { MarkdownRun } from 'vue-markdown-run';

export default {
 components: {
  MarkdownRun
 }
}

组件的用法

<markdown-run
  :mark="markdownTxt"
  highlight-style-file-name="github"
  :runClass=""
  :runStyle=""
  @error=""
 />

参数说明

参数 默认值 说明
:mark 必传(String) markdown文本字符串(具体要求请看下面的“markdownTxt 写法要求”)
:scope 非(Object) markdown文本中,引入的组件,如果不想全局引入,可以局部引入,用法请看上面的DEMO
highlight-style-file-name 非(String) 'github' markdown代码部分样式文件名,此处是指定引入那种样式(css)文件 详细请参考:https://highlightjs.org/stati... 中Styles
:runClass 非(String) Vue运行代码处的css样式名称
:runStyle 非(Object) Vue运行代码处的行间样式名称
@error 非(Function) 当前组件执行失败的回调函数

markdownTxt 写法要求

代码中必须指定哪个组件是需要执行的,在上面写上 vue-run , 否则认为是普通文本,不予执行。

vue-run 放在语言类型后面,需要空格,例如:

```html vue-run
<template>
 <div @click="go">Hello, {{name}}! 你可以点击试试</div>
</template>

<script>
 export default {
  data() {
   return {
    name: 'Vue'
   }
  },
 methods: {
   go () {
    alert('点击弹出, 代码vue已执行');
   }
  }
 }
</script>
<style>
 div{
 background-color: red;
 }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE8提示Invalid procedure call or argument 异常的解决方法
Sep 30 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 Javascript
Node.js程序中的本地文件操作用法小结
Mar 06 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
详解JS中的attribute属性
Apr 25 Javascript
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
js学使用setTimeout实现轮循动画
Jul 17 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
Nov 12 Javascript
原生js实现的金山打字小游戏(实例代码详解)
Mar 16 Javascript
Vue使用axios引起的后台session不同操作
Aug 14 Javascript
JS中使用new Option()实现时间联动效果
Dec 10 #Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 #Javascript
移动端如何用下拉刷新的方式实现上拉加载
Dec 10 #Javascript
vue+Element-ui实现分页效果实例代码详解
Dec 10 #Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 #jQuery
微信小程序实现动态获取元素宽高的方法分析
Dec 10 #Javascript
PM2自动部署代码步骤流程总结
Dec 10 #Javascript
You might like
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
PHP实现动态柱状图改进版
2015/03/30 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
PHP实现八皇后算法
2019/05/06 PHP
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
实习老师离校感言
2014/02/03 职场文书
工程负责人任命书
2014/06/06 职场文书
装配出错检讨书
2014/09/23 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
世界环境日活动总结
2015/02/11 职场文书
个人培训总结
2015/03/05 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
2016年教代会开幕词
2016/03/04 职场文书
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技