首页 > web前端 > js教程 > 一个Vue插件从封装到发布详解

一个Vue插件从封装到发布详解

小云云
发布: 2018-05-26 11:43:20
原创
2525 人浏览过

本文主要为大家详细介绍了第一个Vue插件从封装到发布的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。

前言

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

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

准备

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

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

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

创建工程

  初始化工程

vue init webpack-simple projectName
cd projectName
cnpm install //安装依赖
登录后复制

  创建开发组件目录如下

开发插件

  插件入口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: &#39;./src/main.js&#39;, //npm run dev时 demo调试的入口
 entry: &#39;./src/index.js&#39;, //打包时 插件入口
 output: {
 path: path.resolve(__dirname, &#39;./dist&#39;),
 publicPath: &#39;/dist/&#39;,
 // filename: &#39;build.js&#39;
 filename: &#39;vue-area-select-lei.js&#39;, //打包生成文件的名字
 library:&#39;AreaSelect&#39;, //reqire引入的名字
 libraryTarget:&#39;umd&#39;,
 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发布插件

  插件的方式使用

npm install vue-area-select-lei --save //安装
//插件的方式引入使用
import areaSelect from &#39;vue-area-select-lei&#39;
Vue.use(areaSelect)
登录后复制

 效果如下:

相关推荐:

如何写vue插件实例分享

如何写vue插件vue.js实例教学

Vue中封装input组件方法教程

以上是一个Vue插件从封装到发布详解的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板