第一個(gè)Vue插件從封裝到發(fā)布
前言
這是我封裝的第一個(gè)Vue插件,實(shí)現(xiàn)的功能是滑動(dòng)選擇省市區(qū),雖然只是一個(gè)簡(jiǎn)單的插件,但還是挺開(kāi)心的,記錄一下步驟。
插件地址:https://github.com/leichangchun/vue-area-select 歡迎指正
準(zhǔn)備
Vue官網(wǎng)插件部分的介紹雖然很簡(jiǎn)單,但是還是好好刷一遍的。由于此插件較為簡(jiǎn)單,主要用到以下兩個(gè)點(diǎn):
1 . Vue的插件需要有一個(gè)公開(kāi)方法install
2 . 通過(guò)全局方法 Vue.use() 使用插件,在下文有栗子
創(chuàng)建工程
初始化工程
vue init webpack-simple projectName cd projectName cnpm install //安裝依賴(lài)
創(chuàng)建開(kāi)發(fā)組件目錄如下

開(kāi)發(fā)插件
插件入口index.js需要引入插件組件,寫(xiě)install方法
import vueAreaSelect from './components/vue-area-select' //引入組件
const areaSelect = {
install (Vue, options) {
Vue.component(vueAreaSelect.name, vueAreaSelect) //全局組件
}
}
export default areaSelect //導(dǎo)出
vue-area-select.vue是插件的具體實(shí)現(xiàn)部分,就不過(guò)多介紹,詳見(jiàn)源碼。
調(diào)試時(shí)的引用方式是引入index.js文件
//引入 import areaSelect from './index.js' Vue.use(areaSelect) //.vue中 使用 <vue-area-select></vue-area-select>
調(diào)試完成后,需要build,然后再npm發(fā)布。build的時(shí)候需要先修改webpack.config.js中的配置,然后 npm run build 打包文件
// entry: './src/main.js', //npm run dev時(shí) demo調(diào)試的入口
entry: './src/index.js', //打包時(shí) 插件入口
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
// filename: 'build.js'
filename: 'vue-area-select-lei.js', //打包生成文件的名字
library:'AreaSelect', //reqire引入的名字
libraryTarget:'umd',
umdNamedDefine:true
}
此時(shí),插件開(kāi)發(fā)部分已經(jīng)完成。之后就需要npm發(fā)布。
NPM發(fā)布
先配置package.json,需要加入以下幾項(xiàng)
"private": false,
"main": "dist/vue-area-select-lei.js", //import引入時(shí)默認(rèn)尋找的文件
"repository": { //倉(cāng)庫(kù)地址
"type": "git",
"url": "https://github.com/leichangchun/vue-area-select"
},
然后npm login 登錄賬號(hào) npm publish發(fā)布插件

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue自定義插件封裝,實(shí)現(xiàn)簡(jiǎn)易的elementUi的Message和MessageBox的示例
- vue簡(jiǎn)單封裝axios插件和接口的統(tǒng)一管理操作示例
- 環(huán)形加載進(jìn)度條封裝(Vue插件版和原生js版)
- Vue使用zTree插件封裝樹(shù)組件操作示例
- Vue插件從封裝到發(fā)布的完整步驟記錄
- Vue封裝的可編輯表格插件方法
- vue移動(dòng)端微信授權(quán)登錄插件封裝的實(shí)例
- Vue二次封裝axios為插件使用詳解
- 用vue封裝插件并發(fā)布到npm的方法步驟
- vue封裝第三方插件并發(fā)布到npm的方法
- bootstrap select插件封裝成Vue2.0組件
- vue3.0實(shí)現(xiàn)插件封裝
相關(guān)文章
axios進(jìn)階實(shí)踐之利用最優(yōu)雅的方式寫(xiě)ajax請(qǐng)求
之前給大家介紹了jQuery利用最優(yōu)雅的方式寫(xiě)ajax請(qǐng)求的相關(guān)內(nèi)容,這篇文章主要給大家介紹了關(guān)于axios進(jìn)階實(shí)踐之利用最優(yōu)雅的方式寫(xiě)ajax請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-12-12
Vue SPA 初次進(jìn)入加載動(dòng)畫(huà)實(shí)現(xiàn)代碼
今天小編就為大家分享一篇Vue SPA 初次進(jìn)入加載動(dòng)畫(huà)實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
Vue3父組件訪(fǎng)問(wèn)子組件方法/屬性的五種方案
在Vue3的組件化開(kāi)發(fā)中,父子組件間的通信是核心功能之一,本文將詳細(xì)介紹五種父組件訪(fǎng)問(wèn)子組件屬性/方法的實(shí)現(xiàn)方案,包含最新的<script setup>語(yǔ)法糖實(shí)踐,需要的朋友可以參考下2025-03-03
vue3?內(nèi)容過(guò)多出現(xiàn)滾動(dòng)條時(shí)滾動(dòng)條自動(dòng)定位到末端的操作代碼
這篇文章主要介紹了vue3?內(nèi)容過(guò)多出現(xiàn)滾動(dòng)條時(shí)滾動(dòng)條自動(dòng)定位到末端的操作代碼,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-05-05
vue連接本地服務(wù)器的實(shí)現(xiàn)示例
本文主要介紹了vue連接本地服務(wù)器的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01

