实现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 相关文章推荐
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
Aug 28 Javascript
json格式的时间显示为正常年月日的方法
Sep 08 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
Mar 27 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
Oct 25 Javascript
自动完成的搜索框javascript实现
Feb 26 Javascript
微信小程序 购物车简单实例
Oct 24 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
label+input实现按钮开关切换效果的实例
Aug 16 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
Aug 24 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 Javascript
JS实现判断移动端PC端功能
Feb 21 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
我的论坛源代码(一)
2006/10/09 PHP
php分页函数示例代码分享
2014/02/24 PHP
PHP安全上传图片的方法
2015/03/21 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
Python中MySQL数据迁移到MongoDB脚本的方法
2016/04/28 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python生成器与迭代器详解
2019/01/01 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
中专毕业生自荐信
2013/11/16 职场文书
法学院毕业生求职信
2014/06/25 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
刑事代理授权委托书
2014/09/17 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
爱晚亭导游词
2015/02/09 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技