源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

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

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2017-11-22 09:04:17 | 显示全部楼层 |阅读模式
这篇文章主要为大家详细介绍了第一个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: './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发布插件

  插件的方式使用

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

 效果如下:

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

回复

使用道具 举报

1

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
24869
发表于 2022-8-9 04:16:06 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
18256
发表于 2022-9-3 14:05:06 | 显示全部楼层
给爸爸爸爸爸爸爸爸爸爸八佰伴八佰伴
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-23 21:14:38 | 显示全部楼层
灌灌灌灌水
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25309
发表于 2023-5-30 04:40:49 | 显示全部楼层
问问问企鹅哇哇哇哇哇
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25476
发表于 2023-6-2 20:40:50 | 显示全部楼层
谢谢小Y分享
回复 支持 反对

使用道具 举报

16

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
24996
发表于 2023-8-11 01:20:17 | 显示全部楼层
论坛有你更精彩!
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25575
发表于 2023-11-2 00:37:17 | 显示全部楼层
看到这帖子真是高兴!
回复 支持 反对

使用道具 举报

11

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
25729
发表于 2023-11-24 08:47:44 | 显示全部楼层
给爸爸爸爸爸爸爸爸爸爸八佰伴八佰伴
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

2万

积分

论坛元老

Rank: 8Rank: 8

积分
24239
发表于 2024-3-6 09:14:38 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-12 08:32 , Processed in 0.064803 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表