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 相关文章推荐
jQuery中after的两种用法实例
Jul 03 Javascript
jquery网页元素拖拽插件效果及实现
Aug 05 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
Aug 24 Javascript
JS中的数组方法笔记整理
Jul 26 Javascript
js原生之焦点图转换加定时器实例
Dec 12 Javascript
Vue.Draggable实现拖拽效果
Jul 29 Javascript
解决linux下node.js全局模块找不到的问题
May 15 Javascript
ng-events类似ionic中Events的angular全局事件
Sep 05 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
Oct 09 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
微信小程序npm引入vant-weapp的踩坑记录
Aug 01 Javascript
Vue父子组件传值的一些坑
Sep 16 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
JS学习之一个简易的日历控件
2010/03/24 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
Jquery submit()无法提交问题
2013/04/21 Javascript
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
javascript实现画板功能
2020/04/12 Javascript
使用PYTHON接收多播数据的代码
2012/03/01 Python
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
在Django的视图中使用form对象的方法
2015/07/18 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
python super函数使用方法详解
2020/02/14 Python
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
秋季运动会通讯稿
2014/01/24 职场文书
倡议书范文格式
2014/05/12 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
党员违纪检讨书
2015/05/05 职场文书
重温入党誓词主持词
2015/06/29 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书