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

開發(fā)插件
插件入口index.js需要引入插件組件,寫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是插件的具體實現(xiàn)部分,就不過多介紹,詳見源碼。
調(diào)試時的引用方式是引入index.js文件
//引入 import areaSelect from './index.js' Vue.use(areaSelect) //.vue中 使用 <vue-area-select></vue-area-select>
調(diào)試完成后,需要build,然后再npm發(fā)布。build的時候需要先修改webpack.config.js中的配置,然后 npm run build 打包文件
// entry: './src/main.js', //npm run dev時 demo調(diào)試的入口
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
}
此時,插件開發(fā)部分已經(jīng)完成。之后就需要npm發(fā)布。
NPM發(fā)布
先配置package.json,需要加入以下幾項
"private": false,
"main": "dist/vue-area-select-lei.js", //import引入時默認(rèn)尋找的文件
"repository": { //倉庫地址
"type": "git",
"url": "https://github.com/leichangchun/vue-area-select"
},
然后npm login 登錄賬號 npm publish發(fā)布插件

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue自定義插件封裝,實現(xiàn)簡易的elementUi的Message和MessageBox的示例
- vue簡單封裝axios插件和接口的統(tǒng)一管理操作示例
- 環(huán)形加載進(jìn)度條封裝(Vue插件版和原生js版)
- Vue使用zTree插件封裝樹組件操作示例
- Vue插件從封裝到發(fā)布的完整步驟記錄
- Vue封裝的可編輯表格插件方法
- vue移動端微信授權(quán)登錄插件封裝的實例
- Vue二次封裝axios為插件使用詳解
- 用vue封裝插件并發(fā)布到npm的方法步驟
- vue封裝第三方插件并發(fā)布到npm的方法
- bootstrap select插件封裝成Vue2.0組件
- vue3.0實現(xiàn)插件封裝
相關(guān)文章
vue實現(xiàn)表格動態(tài)嵌入折線圖的繪制代碼
這篇文章給大家介紹了vue實現(xiàn)表格動態(tài)嵌入折線圖的繪制方法,文中有詳細(xì)完整的代碼示例攻大家參考,對大家的學(xué)習(xí)或工作有一定的參考價值,需要的朋友可以參考下2023-10-10
Vue+Element一步步實現(xiàn)動態(tài)添加Input_輸入框案例
這篇文章主要介紹了Vue+Element一步步實現(xiàn)動態(tài)添加Input_輸入框案例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
vue2中,根據(jù)list的id進(jìn)入對應(yīng)的詳情頁并修改title方法
今天小編就為大家分享一篇vue2中,根據(jù)list的id進(jìn)入對應(yīng)的詳情頁并修改title方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
vue3圖片剪裁插件vue-img-cutter使用小結(jié)
Vue.js是一款流行的JavaScript前端框架,很受用戶喜愛,這篇文章主要介紹了vue3圖片剪裁插件vue-img-cutter使用小結(jié),本文結(jié)合示例代碼講解的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01
element?實現(xiàn)導(dǎo)航欄收起展開功能及思路
這篇文章主要介紹了element?實現(xiàn)導(dǎo)航欄收起展開功能,實現(xiàn)思路先給 el-menu加上 :collapse="isCollapse" 屬性,這個屬性也是 element 上的一個參數(shù),意思為是否開啟折疊動畫,在 data 中定義 isCollapse ,用 true 和 false 控制展開與收起,需要的朋友可以參考下2023-01-01

