使用場(chǎng)景
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供雞冠網(wǎng)站建設(shè)、雞冠做網(wǎng)站、雞冠網(wǎng)站設(shè)計(jì)、雞冠網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、雞冠企業(yè)網(wǎng)站模板建站服務(wù),十年雞冠做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
-在開發(fā)過程中,往往會(huì)有很多自己定義公用組件,我們通過import 導(dǎo)入,components掛載到實(shí)例上就行,項(xiàng)目剛開始還好,但是隨著項(xiàng)目迭代,組件越來越多,同一個(gè)組件不同的方式用需要重復(fù)導(dǎo)入掛載,就顯得冗余
這里是通過require.context
的一種便捷操作
實(shí)例
文件結(jié)構(gòu)
component/modal
里存放的是我們定義的公共DOM組件
// 導(dǎo)入Vue, 需要使用Vue.component()方法注冊(cè)組件 import Vue from 'vue' // let f = r => { // return r.keys().map(key => r(key)); // } // // console.log(f(require.context('./modal', true, /\.vue/))); // 將 ./modal 下的所有組件全部讀取出來 // // // requireComponents: ƒ webpackContext(req) { // return __webpack_require__(webpackContextResolve(req)); // } /** * @var requireComponents -- requireComponents保存每個(gè)文件的相對(duì)路徑的集合,可通過keys()返回 * @function requireComponents -- 也是個(gè)方法,傳入keys()枚舉出來的路徑可返回組件實(shí)例 */ const requireComponents = require.context('./', true, /\.vue/); // 打印結(jié)果 // requireComponents: ƒ webpackContext(req) { // return __webpack_require__(webpackContextResolve(req)); // } // // 遍歷出每個(gè)組件的路徑 requireComponents.keys().forEach(fileName => { // 組件實(shí)例 const reqCom = requireComponents(fileName) // 截取路徑作為組件名 const reqComName = fileName.split('/')[1] // 組件掛載 Vue.component(reqComName, reqCom.default || reqCom) })
具體的只要打印出來就一目了然,這里不做贅述
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
名稱欄目:Vue一次性簡(jiǎn)潔明了引入所有公共組件的方法
文章轉(zhuǎn)載:http://m.kartarina.com/article44/jedpee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站維護(hù)、外貿(mào)建站、搜索引擎優(yōu)化、微信小程序、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)