实现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 相关文章推荐
js 实现复制到粘贴板的功能代码
May 13 Javascript
js监听输入框值的即时变化onpropertychange、oninput
Jul 13 Javascript
仿百度输入框智能提示的js代码
Aug 22 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
Dec 04 Javascript
Bootstrap实现input控件失去焦点时验证
Aug 04 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
Jul 12 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
js实现纯前端压缩图片
Nov 16 Javascript
原生js实现自定义消息提示框
Nov 19 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
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
用PHP读取和编写XML DOM的实现代码
2011/02/03 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php写的AES加密解密类分享
2014/06/20 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
PHP中16个高危函数整理
2019/09/19 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
理解javascript对象继承
2016/04/17 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
详解Python打包分发工具setuptools
2019/08/05 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
优秀本科毕业生自荐信
2014/07/04 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
个人催款函范文
2015/06/24 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
Oracle锁表解决方法的详细记录
2022/06/05 Oracle
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers