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 相关文章推荐
网页中CDATA标记的说明
Sep 12 Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 Javascript
jQuery实现冻结表格行和列
Apr 29 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
Aug 03 Javascript
bootstrap手风琴制作方法详解
Jan 11 Javascript
jquery根据name取得select选中的值实例(超简单)
Jan 25 jQuery
Node.js静态服务器的实现方法
Feb 28 Javascript
json解析大全 双引号、键值对不在一起的情况
Dec 06 Javascript
nuxt 每个页面head标签内容设置方式
Nov 05 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的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
php批量删除操作代码分享
2017/02/26 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
javascript学习笔记(四)function函数部分
2014/09/30 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
原生JS实现天气预报
2020/06/16 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
python中尾递归用法实例详解
2015/04/28 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
深入理解Django的中间件middleware
2018/03/14 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
美国翻新电子产品商店:The Store
2019/10/08 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
高中毕业自我鉴定
2013/12/22 职场文书
社区交通安全实施方案
2014/03/22 职场文书
邀请函怎么写
2015/01/30 职场文书
2015年财务部工作总结
2015/04/10 职场文书
教师节班会主持词
2015/07/06 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python