"searchtext" @keydown.enter=
"search"
/>
"search"
>
"search"
/>
<
/basebutton>
<
/template>
import basebutton from
'./basebutton'
import baseicon from
'./baseicon'
import baseinput from
'./baseinput'
export
default
}<
/script>
我們寫了一堆基礎ui元件,然後每次我們需要使用這些元件的時候,都得先import,然後宣告components,很繁瑣,這裡可以使用統一註冊的形式.
我們需要借助一下神器webpack,使用 require.context() 方法來建立自己的模組上下文,從而實現自動動態require元件。這個方法需要3個引數:要搜尋的資料夾目錄、是否還應該搜尋它的子目錄、以及乙個匹配檔案的正規表示式。
我們在components資料夾新增乙個叫componentregister.js的檔案,在這個檔案裡借助webpack動態將需要的基礎元件統統打包進來。
/src/components/componentregister.js
import vue from
'vue'
/** * 首字母大寫
* @param str 字串
* @example hehehaha
* @return hehehaha
*/function
capitalizefirstletter
(str)
/** * 對符合'xx/xx.vue'元件格式的元件取元件名
* @param str filename
* @example abc/bcd/def/basictable.vue
* @return basictable
*/function
validatefilename
(str)
const requirecomponent = require.
context
('./'
,true
,/\.vue$/
)// 找到元件資料夾下以.vue命名的檔案,如果檔名為index,那麼取元件中的name作為註冊的元件名
requirecomponent.
keys()
.foreach
(filepath =>
)
這裡資料夾結構:
components
│ componentregister.js
├─basictable
│ basictable.vue
├─multicondition
│ index.vue
這裡對元件名做了判斷,如果是index的話就取元件中的name屬性處理後作為註冊元件名,所以最後註冊的元件為:multi-condition、basic-table
最後我們在main.js中引入:
import 'components/componentregister.js
然後我們就可以隨時隨地使用這些基礎元件,無需手動引入了~ 全域性一次性引用寫好的元件
我們寫好了元件,接下去肯定還要引入和使用。但是你寫的元件一旦多起來,在每乙個個地方都需要去引用是一件很麻煩的事情,所以我們將一次性全域性引入 important componenta from componenta important componentb from componentb impor...
一次性成功
沒有人能隨隨便便成功 最近察覺到自己思維的乙個誤區,希望實現的目標第一次就成功,順順利利跳過失敗。這是大家都想要的結局,美好的期望總被現實的波浪所淹沒,因為失敗是避免不了的。一次性成功的想法導致焦慮,困惑,自我懷疑,這個時候如果放低要求換個角度思考,第一次失敗又如何,如果失敗了倒下了哪有怎樣?只要自...
記錄一次效能優化
做了這麼久開發,終於涉及到效能優化了 原因是開啟乙個頁面花了2 6秒,被提了bug 不得不說自己有點小白,嘗試了非同步執行緒和把單次的dubbo查詢優化成批量的查詢。但是這兩種嘗試都沒有宣告成功 出了問題首先要找到問題在 既然是耗時,那就要看看到底 耗時最多 這裡要說一下,因為我是改別人的 所以對業...