第一个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+xml技术实现分页浏览
Jul 27 Javascript
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
Js+Flash实现访问剪切板操作
Nov 20 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
Apr 06 Javascript
实用又漂亮的BootstrapValidator表单验证插件
May 30 Javascript
jquery删除数组中重复元素
Dec 05 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 Javascript
基于hover的用法实例(推荐)
Jul 04 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 Javascript
详解vantUI框架在vue项目中的应用踩坑
Dec 06 Javascript
vue项目创建步骤及路由router
Jan 14 Javascript
详细分析单线程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
asp 的 分词实现代码
2007/05/24 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
js检测用户输入密码强度
2015/10/22 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
Python实现简单的四则运算计算器
2016/11/02 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
python实现两个文件合并功能
2018/04/01 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
Python hashlib模块的使用示例
2020/10/09 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
教师推荐信范文
2013/11/24 职场文书
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
给老师的检讨书
2014/02/11 职场文书
党校学习自我鉴定
2014/02/24 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
毕业设计致谢语
2015/05/14 职场文书
MySQL常见优化方案汇总
2022/01/18 MySQL
Golang 遍历二叉树
2022/04/19 Golang
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技