vue 插件的方法代码详解


Posted in Javascript onJune 06, 2019

在开发项目的时候,我们一般都用 vue-cli 来避免繁琐的 webpack 配置和 template 配置。但是官方 cli3 现在并不支持搭建 plugin 开发的项目。

还好,已经有大神(Kazupon)走在了我们前面,我们就用现成的 vue-cli-plugin-p11n 。

如果你没有安装 vue-cli,请先安装

npm i -g @vue/cli

首先,搭建项目

vue create [your plugin name] && cd [your plugin name]
vue add p11n

这样我们就有了一个初始化的插件开发环境。

install 方法

开发 vue 插件其实就是写一个 install 方法,然后把这个方法暴露出来给你的用户,他们就可以用 Vue.use(plugin) 载入插件了。

借用 vue 官方 API 上的解释: 如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法调用时,会将 Vue 作为参数传入。 该方法需要在调用 new Vue() 之前被调用。 当 install 方法被同一个插件多次调用,插件将只会被安装一次。

export const install = function (Vue, options) {
 // Vue 就是 vue 实例
 // options 就是 Vue.use(plugin,options) 传入的第二个参数 options
 // 1. 添加全局方法或属性
 Vue.myGlobalMethod = function () {
  // 逻辑...
 }
 // 2. 添加全局资源
 Vue.directive('my-directive', {
  bind (el, binding, vnode, oldVnode) {
   // 逻辑...
  }
  ...
 })
 // 3. 注入组件选项
 Vue.mixin({
  created: function () {
   // 逻辑...
  }
  ...
 })
 // 4. 添加实例方法
 Vue.prototype.$myMethod = function (methodOptions) {
  // 逻辑...
 }
}

发布插件

p11n 已经帮助我们部署好了大部分 package.json 配置,只需要自己填写好 name,author,license,repository,description,keywords 这几个选项就可以了。

# login npm
npm login
# patch version
npm version patch
# publish
npm publish --access public

我自己写了一个非常简单的插件 vue-chart ,可以作为参考。

总结

以上所述是小编给大家介绍的vue 插件的方法代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
传智播客学习之java 反射
Nov 22 Javascript
JS获取DropDownList的value值与text值的示例代码
Jan 07 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
Oct 10 Javascript
jQuery实现折线图的方法
Feb 28 Javascript
javascript中Math.random()使用详解
Apr 15 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
JavaScript数据存储 Cookie篇
Jul 02 Javascript
老生常谈JavaScript 正则表达式语法
Aug 20 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
Oct 20 Javascript
深入理解Vue官方文档梳理之全局API
Nov 22 Javascript
Vue+ElementUI table实现表格分页
Dec 14 Javascript
JS原生实现轮播图的几种方法
Mar 23 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 #jQuery
node.js的http.createServer过程深入解析
Jun 06 #Javascript
vue中keep-alive组件的入门使用教程
Jun 06 #Javascript
vue2配置scss的方法步骤
Jun 06 #Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 #Javascript
详解Vue 如何监听Array的变化
Jun 06 #Javascript
js常见遍历操作小结
Jun 06 #Javascript
You might like
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
两个php日期控制类实例
2014/12/09 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
javascript类型系统_正则表达式RegExp类型详解
2016/06/24 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
Python Trie树实现字典排序
2014/03/28 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
Python如何解除一个装饰器
2020/08/07 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
社区工作者感言
2014/03/02 职场文书
五年级小学生评语
2014/12/26 职场文书
采购员岗位职责
2015/02/03 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
Python实现文字pdf转换图片pdf效果
2022/04/03 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS