簡介
作為一個開發萌新,一直秉承著輪子的搬運工,時而感嘆著搬運真爽原則,哈哈哈哈,見笑了各位。但是,摸著良心說,我內心對那些開發外掛的大牛,有著一顆赤誠的敬畏之心。很羨慕他們有能力能造福大家,省去了大部分開發的時間。
所以我決定也要學習著開發一個屬於自己的外掛,並且釋出到npm可以造福大家哈哈哈哈哈,雖然我是個萌新,但是我會努力的。
目錄
- 外掛功能概述
- 部署準備工作
- 部署專案
- 驗證
- 總結
外掛功能概述
功能 :實現一個loading載入功能。同時使用者可以自定義樣式大小以及文字。
介紹:此版本為第一個版本,而且主要以釋出流程流程為主。所以只封裝了三個loading元件。在以後的版本中,會增加許多種類。大家有什麼好的建議也可以提供給我,讓我多多改進。
元件1:環形loading
<ys-load-ring text='loading':isShow='true'></ys-load-ring>
複製程式碼
引數 :
引數 | 描述 | 型別 | ||
---|---|---|---|---|
background | 背景顏色 | String | ||
radius | 圓圈的半徑 | String | ||
color | 文字顏色 | String | ||
isShow | 顯示與隱藏 | Boolean | ||
text | 文字內容 | String |
展示:
元件2:條紋載入<ys-load-wave :isShow='true'></ys-load-wave>
複製程式碼
引數 | 描述 | 型別 | ||
---|---|---|---|---|
isShow | 顯示與隱藏 | Boolean |
<ys-load-bobble :isShow='true'
複製程式碼
引數 | 描述 | 型別 | ||
---|---|---|---|---|
isShow | 顯示與隱藏 | Boolean | ||
radius | 圓圈的半徑 | String |
部署準備工作
a.理解vue外掛工作原理
我們都知道外掛是通過Vue.use()引入的,那麼其工作原理到底是什麼呢?先了解一下這個api.
引數:
{Object | Function} plugin
用法:
安裝 Vue.js 外掛。如果外掛是一個物件,必須提供 install 方法。如果外掛是一個函式,它會被作為 install 方法。install 方法呼叫時,會將 Vue 作為引數傳入。
該方法需要在呼叫 new Vue() 之前被呼叫。
當 install 方法被同一個外掛多次呼叫,外掛將只會被安裝一次。
b.編寫install方法:
思路:我們知道會執行install函式,所以在install函式裡,我們就開始全域性註冊元件,並且install函式第一引數預設是Vue:
import YsLoadRing from './YSLoadRing'
import YsLoadBobble from './YSLoadBobble'
import YsLoadWave from './YSLoadWave'
import Vue from 'vue'
const components = {
YsLoadRing,
YsLoadBobble,
YsLoadWave
}
function install () {
Object.keys(components).forEach(name => {
Vue.component(name, components[name])
})
}
export default { install }
複製程式碼
匯入所有元件,在install函式裡進行全域性註冊,然後在把這個函式匯出。所以,這個檔案便是外掛的入口檔案。
c.配置package.json檔案
{
"name": "load-vue", //專案名稱
"version": "0.0.1", //版本號 每次釋出必須要不一樣哦
"private": false, //是否隱私
"main": "./src/components/Load/index.js", //入口檔案一定要是剛剛寫的那個Js檔案
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.6.4",
"vue": "^2.6.11",
"vue-router": "^3.1.6"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.3.0",
"@vue/cli-plugin-eslint": "^4.3.0",
"@vue/cli-plugin-router": "^4.3.0",
"@vue/cli-service": "^4.3.0",
"@vue/eslint-config-standard": "^5.1.2",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^6.2.2",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"vue-template-compiler": "^2.6.11"
}
}
複製程式碼
d.註冊一個npm賬號
直接進入官網註冊,傻瓜式流程。
部署專案:
預設上面的步驟都是一步一步走完的,好了開啟命名行:
a.輸入npm login 進行npm登入,輸入註冊的賬號密碼郵箱
b.輸入npm whoami 如果登陸成功 就會顯示你的使用者名稱
c.最後一步上傳檔案 npm publish
如果出現這個頁面,就說明上傳成功了。哈哈哈哈如果你能出現的話?其中也有幾個坑點:d1:在註冊時,要進行郵箱驗證,手機點開是無效的,必須用電腦用電腦用電腦點開!!!否則就會這個錯誤:
d2:當遇到這個錯誤時:
我們需要這樣做:d3:需要將淘寶源換成npm源。
驗證:
當完成釋出後,我們進入npm主頁就會這樣子:
到這裡,我們還需要驗證一下,從另外一專案引入自己發的外掛(不要從剛剛那個專案引入),看看能不能成功。當然我是沒有遇到問題,所以還是驗證一下為好的。總結:
終於終於,有了自己的外掛,要細心呵護,茁壯成長。接下來,就是準備做一個官網,來介紹自己了。待它成為參天大樹,哈哈哈哈,我早已禿頭了。。。。。
理解元件化思想,理解元件化開發。就像現在經濟全球化一樣哈哈哈哈哈。
一入前端深似海啊,不焦躁,一步一步來。