国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue封裝的組件全局注冊并引用

2024-05-06 15:36:39
字體:
供稿:網(wǎng)友

當(dāng)vue接觸的多了之后,你可能也會到自己封裝組件的程度,試想每個頁面的功能級模塊全部拆分成組件,然后后續(xù)請求后臺數(shù)據(jù)傳入進(jìn)去或者自己模擬數(shù)據(jù),是多么方便的一件事情。

每當(dāng)我們需要修改的時候,只需維護(hù)那一個功能性組件即可,不需要這個功能了,只需要從頁面中刪除這個組件的引用即可。

那么廢話不多說了,我們來看看如何全局注冊并一鍵引入(類似于element ui的全部引入)。

如何封裝組件就不多贅述了。

參考vue官網(wǎng)的做法:vue官網(wǎng)全局注冊

1、正則判斷路徑以及文件名,獲取全部組件并全局注冊(可以直接在main.js里寫,但是為了規(guī)范以及后期可維護(hù)性,我們新建個單獨(dú)的的js文件寫入)

(1)main.js引入所有自定義封裝的組件

import Vue from 'vue';import echarts from 'echarts';import App from './App.vue';import router from './router';import store from './store';import './plugins/element';// 引入時間戳序列化import './plugins/dateFormat';// 引入公共樣式import Public from './assets/css/public.css';// 引入所有自定義封裝的組件import './components/CommonCommponts/GlobalComponents';import startup from './startup'; // 使用公共樣式Vue.use(Public); Vue.config.productionTip = false;Vue.prototype.$echarts = echarts; function vue() { new Vue({ router, store, render: h => h(App) }).$mount('#app');}startup(vue, router);

(2)全局組件的GlobalComponents.js

這里需要安裝2個插件upperFirst和camelCase

下面是組件相對于這個文件的路徑,因?yàn)槲业姆庋b組件和這個js文件在同一級,所以直接 . 就可以了。

然后是是否查詢子目錄,即這個路徑下你又新建了文件夾,把各個組件區(qū)分開,那么就會嵌套很多層,查詢子目錄可以方便的使我們找到它們。

然后是正則表達(dá)式,因?yàn)槲业乃薪M件名都是Rdapp開頭的,這里看大家的文件命名,不需要的話刪除前面的Rdapp即可。

然后下面的部分就可以不用動了。

import Vue from 'vue';import upperFirst from 'lodash/upperFirst';import camelCase from 'lodash/camelCase'; const requireComponent = require.context( // 其組件目錄的相對路徑 '.', // 是否查詢其子目錄 true, // 匹配基礎(chǔ)組件文件名的正則表達(dá)式 /Rdapp[A-Z]/w+/.(vue|js)$/,); requireComponent.keys().forEach((fileName) => { // 獲取組件配置 const componentConfig = requireComponent(fileName);  // 獲取組件的 PascalCase 命名 const componentName = upperFirst( camelCase(  // 獲取和目錄深度無關(guān)的文件名  fileName  .split('/')  .pop()  .replace(//./w+$/, ''), ), );  // 全局注冊組件 Vue.component( componentName, // 如果這個組件選項是通過 `export default` 導(dǎo)出的, // 那么就會優(yōu)先使用 `.default`, // 否則回退到使用模塊的根。 componentConfig.default || componentConfig, );});            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 新和县| 琼海市| 武冈市| 辽源市| 肃北| 黄大仙区| 丰都县| 桦川县| 屯留县| 忻州市| 连州市| 丹凤县| 出国| 新民市| 临安市| 平潭县| 翁源县| 砀山县| 涿州市| 罗甸县| 肇庆市| 额济纳旗| 曲松县| 沾化县| 英吉沙县| 吴桥县| 太湖县| 洪雅县| 印江| 读书| 通榆县| 义马市| 北安市| 唐海县| 镇康县| 彝良县| 崇文区| 晋江市| 衡阳县| 尼玛县| 宝坻区|