第一个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 相关文章推荐
js中点击空白区域时文本框与隐藏层的显示与影藏问题
Aug 26 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
angularJS中$apply()方法详解
Jan 07 Javascript
ES6新数据结构Set与WeakSet用法分析
Mar 31 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
AngularJS发送异步Get/Post请求方法
Aug 13 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
May 18 Javascript
vue+element表格导出为Excel文件
Sep 26 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
PHP学习资料汇总与网址
2007/03/16 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
解决c++调用python中文乱码问题
2020/07/29 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
高考自主招生自荐信
2013/10/20 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
研究生求职自荐书
2014/06/23 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
2014年大学班长工作总结
2014/11/14 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
大学生个人总结范文
2015/02/15 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang