vue頁面批量引入組件的操作代碼
<template> <div> <template v-for="(item) in names"> <component :is="item" :key="item" /> </template> </div> </template> <script> // 可行了 import path from 'path' // require.context(param1,param2,param3) param1:路徑; param2: 是否搜索子文件夾; param3: 文件類型,可正則 const files = require.context('@/components/Menu/Dialog', true, /\.vue$/) const dialogs = {} const names = [] // 組件導(dǎo)入 files.keys().forEach((key) => { /** * * 獲取vue文件名 * 法一:用正則表達(dá)式匹配 * key.replace(/^\.\/(.*)\.\w+$/, '$1') * 法一:path.basename獲取vue文件名 * import path from 'path' * path.basename(path[, ext]) * path.basename() 方法會返回 path 的最后一部分。 尾部的目錄分隔符會被忽略。 **/ // 獲取文件名 法一 // var name = fileName // .split('/') // .pop() // .replace(/\.\w+$/, ''); // 獲取文件名 法二 const name = path.basename(key, '.vue') names.push(name) dialogs[name] = files(key).default || files(key) }) export default { name: 'Dialogs', components: dialogs, data() { return { names: names } } } </script> <style lang="scss" scoped />
知識點:
require.context(param1,param2,param3)
- param1:路徑;
- param2: 是否搜索子文件夾;
- param3: 文件類型,可正則
path.basename(path[, ext])
方法會返回 path 的最后一部分。 尾部的目錄分隔符會被忽略
- path :string
- ext :string 可選的文件擴(kuò)展名。
path.basename('/目錄1/目錄2/文件.html'); // 文件.html
path.basename('/目錄1/目錄2/文件.html', '.html'); // 文件
到此這篇關(guān)于vue頁面批量引入組件的文章就介紹到這了,更多相關(guān)vue頁面批量引入組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue與electron實現(xiàn)進(jìn)程間的通信詳情
這篇文章主要介紹了vue與electron實現(xiàn)進(jìn)程間的通信詳情,本文主要介紹electron渲染進(jìn)程和主進(jìn)程間的通信,以及在渲染進(jìn)程和主進(jìn)程中常用的配置項,需要的朋友可以參考一下2022-09-09Vue?keepAlive實現(xiàn)不同的路由共用一個組件component的緩存問題(推薦)
這篇文章主要介紹了Vue?keepAlive實現(xiàn)不同的路由共用一個組件component的緩存問題,實現(xiàn)方式使用Vue?keepAlive實現(xiàn)頁面緩存,需要的朋友可以參考下2022-08-08vue 插值 v-once,v-text, v-html詳解
這篇文章主要介紹了vue 插值 v-once,v-text, v-html詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01vue3基礎(chǔ)組件開發(fā)detePicker日期選擇組件示例
這篇文章主要為大家介紹了vue3基礎(chǔ)組件開發(fā)-detePicker(日期選擇組件)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Vue動態(tài)加載圖片在跨域時無法顯示的問題及解決方法
這篇文章主要介紹了解決VUE動態(tài)加載圖片在跨域時無法顯示的問題,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03vue.js默認(rèn)路由不加載linkActiveClass問題的解決方法
這篇文章主要給大家介紹了關(guān)于vue.js默認(rèn)路由不加載linkActiveClass問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-12-12vue項目接入高德地圖點擊地圖獲取經(jīng)緯度以及省市區(qū)功能
這篇文章主要給大家介紹了關(guān)于vue項目接入高德地圖點擊地圖獲取經(jīng)緯度以及省市區(qū)功能的相關(guān)資料,開發(fā)中我們需要地圖定位,就是用戶輸入位置,自動定位獲取經(jīng)緯度,需要的朋友可以參考下2023-08-08