Vue中使用require.context自動引入組件的操作方法
我們項目開發(fā)中,經(jīng)常需要import或者export各種模塊,那么有沒有什么辦法可以簡化這種引入或者導(dǎo)出操作呢?答案是肯定的,下面就為大家介紹一下require.context
require.context
是 webpack
提供的一個 API,用于創(chuàng)建 context,即一組具有相同上下文的模塊。
使用 require.context
可以方便地加載多個模塊,并且可以靈活地控制模塊的加載順序和依賴關(guān)系。
以前我們都是通過import 方式引入組件
import A from 'components/A' import B from 'components/B' import C from 'components/C' import D from 'components/D'
這樣很蛋疼,因為每加一個組件,可能都要寫這么一句,這樣有規(guī)律的事,是否可以通過自動化完成?
require.context (需要vue-cli3+的版本)
require.context(directory, useSubdirectories, regExp)
- directory: 要查找的文件路徑
- useSubdirectories: 是否查找子目錄
- regExp: 要匹配文件的正則
1.在compoents文件下隨便創(chuàng)建index.js文件
const requireComponent = require.context('./', true, /\.vue$/) const install = (Vue) => { if (install.installed) return install.installed requireComponent.keys().forEach(element => { const config = requireComponent(element) if (config && config.default.name) { const componentName = config.default.name Vue.component(componentName, config.default || config) } }); } if (typeof window !== 'undefined' && window.Vue) { install(window.Vue) } export default { install }
2.mian.js引入該js
import install from './compoents' Vue.use(install)
總結(jié)
我們可以通過require.context可以自動化引入文件。
其實我們不單單局限于組件,路由內(nèi), 所有模塊文件都是通用的, 例如路由, 接口封裝模塊,都是可以使用的。
到此這篇關(guān)于Vue中使用require.context自動引入組件的方法介紹的文章就介紹到這了,更多相關(guān)Vue自動引入組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在vue項目創(chuàng)建的后初始化首次使用stylus安裝方法分享
下面小編就為大家分享一篇在vue項目創(chuàng)建的后初始化首次使用stylus安裝方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01vue3+ts+vite使用el-table表格渲染記錄重復(fù)情況
這篇文章主要給大家介紹了關(guān)于vue3+ts+vite使用el-table表格渲染記錄重復(fù)情況的相關(guān)資料,我們可以通過合并渲染、數(shù)據(jù)緩存或虛擬化等技術(shù)來減少重復(fù)渲染的次數(shù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12Vue2.0 實現(xiàn)歌手列表滾動及右側(cè)快速入口功能
這篇文章主要介紹了Vue2.0實現(xiàn)歌手列表滾動及右側(cè)快速入口功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08vue3的介紹和兩種創(chuàng)建方式詳解(cli和vite)
這篇文章主要介紹了vue3的介紹和兩種創(chuàng)建方式(cli和vite),vue3對比vue2帶來的性能提升有很多優(yōu)勢,總體來說Vue 3在性能、開發(fā)體驗和代碼組織方面都有所改進,使得它更加適合于大型、復(fù)雜的應(yīng)用程序開發(fā),需要的朋友可以參考下2023-04-04