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 相关文章推荐
node.js中的path.delimiter方法使用说明
Dec 09 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
Oct 20 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
Jun 02 Javascript
json实现添加、遍历与删除属性的方法
Jun 17 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
Aug 16 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
微信小程序的日期选择器的实例详解
Sep 29 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 Javascript
js实现圆形显示鼠标单击位置
Feb 11 Javascript
基于jQuery拖拽事件的封装
Nov 29 jQuery
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判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
JS实现页面打印功能
2017/03/16 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
2019/09/03 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
Python中使用SAX解析xml实例
2014/11/21 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
分析python请求数据
2018/08/19 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
医大实习自我鉴定
2013/12/07 职场文书
优秀企业获奖感言
2014/02/01 职场文书
英文求职信范文
2014/05/23 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
初中英语教学反思范文
2016/02/15 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python