第一个Vue插件从封装到发布


Posted in Javascript onNovember 22, 2017

前言

这是我封装的第一个Vue插件,实现的功能是滑动选择省市区,虽然只是一个简单的插件,但还是挺开心的,记录一下步骤。

插件地址:https://github.com/leichangchun/vue-area-select     欢迎指正

准备

Vue官网插件部分的介绍虽然很简单,但是还是好好刷一遍的。由于此插件较为简单,主要用到以下两个点:

1 . Vue的插件需要有一个公开方法install

2 . 通过全局方法 Vue.use() 使用插件,在下文有栗子

创建工程

初始化工程

vue init webpack-simple projectName
cd projectName
cnpm install //安装依赖

创建开发组件目录如下

第一个Vue插件从封装到发布

开发插件

插件入口index.js需要引入插件组件,写install方法

import vueAreaSelect from './components/vue-area-select' //引入组件
const areaSelect = {
 install (Vue, options) {
 Vue.component(vueAreaSelect.name, vueAreaSelect) //全局组件
 }
}

export default areaSelect //导出

vue-area-select.vue是插件的具体实现部分,就不过多介绍,详见源码。

调试时的引用方式是引入index.js文件

//引入
import areaSelect from './index.js'

Vue.use(areaSelect)


//.vue中 使用

<vue-area-select></vue-area-select>

调试完成后,需要build,然后再npm发布。build的时候需要先修改webpack.config.js中的配置,然后 npm run build 打包文件

// entry: './src/main.js', //npm run dev时 demo调试的入口
 entry: './src/index.js', //打包时 插件入口
 output: {
 path: path.resolve(__dirname, './dist'),
 publicPath: '/dist/',
 // filename: 'build.js'
 filename: 'vue-area-select-lei.js', //打包生成文件的名字
 library:'AreaSelect', //reqire引入的名字
 libraryTarget:'umd',
 umdNamedDefine:true
 }

此时,插件开发部分已经完成。之后就需要npm发布。

NPM发布

先配置package.json,需要加入以下几项

"private": false,
 "main": "dist/vue-area-select-lei.js", //import引入时默认寻找的文件
 "repository": { //仓库地址
 "type": "git",
 "url": "https://github.com/leichangchun/vue-area-select"
 },

然后npm login 登录账号   npm publish发布插件

第一个Vue插件从封装到发布

插件的方式使用

npm install vue-area-select-lei --save //安装
//插件的方式引入使用
import areaSelect from 'vue-area-select-lei'
Vue.use(areaSelect)

 效果如下:

第一个Vue插件从封装到发布

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 全角转换实现代码
Jul 17 Javascript
关于可运行代码无法正常执行的使用说明
May 13 Javascript
一个简单的js树形菜单
Dec 09 Javascript
JS对象与JSON格式数据相互转换
Feb 20 Javascript
js实现浏览本地文件并显示扩展名的方法
Aug 17 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
Sep 05 Javascript
javascript中href和replace的比较(详解)
Nov 25 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
Dec 05 Javascript
基于vue 实现token验证的实例代码
Dec 14 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
Aug 14 Javascript
Vue实现图书管理小案例
Dec 03 Vue.js
详细分析单线程JS执行问题
Nov 22 #Javascript
jquery实现回车键触发事件(实例讲解)
Nov 21 #jQuery
Angular实现双向折叠列表组件的示例代码
Nov 21 #Javascript
bootstrap表格内容过长时用省略号表示的解决方法
Nov 21 #Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
Nov 21 #Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 #Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
Nov 21 #Javascript
You might like
FireFox浏览器使用Javascript上传大文件
2013/10/30 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
jquery中获取元素的几种方式小结
2011/07/05 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
iframe实用操作锦集
2014/04/22 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python轻松实现代码编码格式转换
2015/03/26 Python
Python的装饰器用法学习笔记
2016/06/24 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
详解python配置虚拟环境
2019/04/08 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
贯彻学习两会心得体会范文
2014/03/17 职场文书
学校标语大全
2014/06/19 职场文书
患者身份识别制度
2015/08/06 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
详细介绍python类及类的用法
2021/05/31 Python
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js