第一個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)形加載進度條封裝(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)嵌入折線圖的繪制方法,文中有詳細完整的代碼示例攻大家參考,對大家的學(xué)習(xí)或工作有一定的參考價值,需要的朋友可以參考下2023-10-10Vue+Element一步步實現(xiàn)動態(tài)添加Input_輸入框案例
這篇文章主要介紹了Vue+Element一步步實現(xiàn)動態(tài)添加Input_輸入框案例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09vue2中,根據(jù)list的id進入對應(yīng)的詳情頁并修改title方法
今天小編就為大家分享一篇vue2中,根據(jù)list的id進入對應(yīng)的詳情頁并修改title方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08vue3圖片剪裁插件vue-img-cutter使用小結(jié)
Vue.js是一款流行的JavaScript前端框架,很受用戶喜愛,這篇文章主要介紹了vue3圖片剪裁插件vue-img-cutter使用小結(jié),本文結(jié)合示例代碼講解的非常詳細,感興趣的朋友一起看看吧2024-01-01element?實現(xiàn)導(dǎo)航欄收起展開功能及思路
這篇文章主要介紹了element?實現(xiàn)導(dǎo)航欄收起展開功能,實現(xiàn)思路先給 el-menu加上 :collapse="isCollapse" 屬性,這個屬性也是 element 上的一個參數(shù),意思為是否開啟折疊動畫,在 data 中定義 isCollapse ,用 true 和 false 控制展開與收起,需要的朋友可以參考下2023-01-01