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 相关文章推荐
取键盘键位ASCII码的网页
Jul 30 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
Mar 28 Javascript
基于jQuery实现在线选座之高铁版
Aug 24 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
Jan 12 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
May 18 Javascript
AngularJS 遇到的小坑与技巧小结
Jun 07 Javascript
vue多级多选菜单组件开发
Sep 08 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 Javascript
react native 仿微信聊天室实例代码
Sep 17 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
Aug 09 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控制文件下载速度的方法
2015/03/24 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
jQuery学习基础知识小结
2010/11/25 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
举例讲解Python中的身份运算符的使用方法
2015/10/13 Python
python Django模板的使用方法
2016/01/14 Python
Python实现简易端口扫描器代码实例
2017/03/15 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
什么是python类属性
2020/06/10 Python
使用索引有什么好处
2016/07/27 面试题
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
计算机专业应届毕业生自荐信
2013/09/26 职场文书
小学生安全保证书
2014/02/01 职场文书
欢迎领导检查标语
2014/06/27 职场文书
小学班主任事迹材料
2014/12/17 职场文书
前台文员岗位职责
2015/02/04 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
优秀党员个人总结
2015/02/14 职场文书
入党自荐书范文
2015/03/05 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
R9700摩机记
2022/04/05 无线电