Vue-router优化import引入过多导致index文件臃肿问题
需求
当我们在开发过程中,需要引入很多的文件,但是又不想每个文件都依次导入的时候 就会想有没有一个方法可以批量导入 require.context方法就可以解决这个问题.(仅限于webpack)
function importAll (require) {
console.log(require.keys(),'keys') // 此处是由多个文件路径组成的数组
require.keys().forEach(item=>{
routerAll.push(require(item).default)
})
console.log(routerAll,'routerALL') // 将文件的 export default 暴露出去
}
importAll(require.context('./',true,/\.js/))let routerAll = [];
function importAll (require) {
console.log(require.keys(),'keys') // 此处是由多个文件路径组成的数组
require.keys().forEach(item=>{
routerAll.push(require(item).default)
})
console.log(routerAll,'routerALL')
}
importAll(require.context('./',true,/\.js/))代码详解
require.context
require.context(deirectory,useSubdirectories,regExp)
1.directory:要查找的文件路径(String)
2.userSubdirectories:是否查找子目录(Boolean)
3.regExp:要匹配文件的正则
require.context.keys()
const ctx = require.context('./components/', true, /\.js$/)
console.log(ctx.keys())
// ["./A.js", "./B.js", "./C.js", "./D.js"]
require.context.keys()返回一个数组,数组每个元素传入 require.context方法中,就可以到处相应的文件
借鉴了Store 的自动化引入
当然此方法也可以应用到别的文件
在 main.js 中引入大量公共组件
import Vue from 'vue'
// 自定义组件
const requireComponents = require.context('../views/components', true, /\.vue/)
// 打印结果
// 遍历出每个组件的路径
requireComponents.keys().forEach(fileName => {
// 组件实例
const reqCom = requireComponents(fileName)
// 截取路径作为组件名
const reqComName =reqCom.name|| fileName.replace(/\.\/(.*)\.vue/,'$1')
// 组件挂载
Vue.component(reqComName, reqCom.default || reqCom)
})今天的分享就到这里 希望能对你有所帮助。
以上就是Vue-router优化import引入过多导致index文件臃肿问题的详细内容,更多关于Vue-routert引入导致index臃肿的资料请关注脚本之家其它相关文章!
相关文章
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
这篇文章主要介绍了vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component的相关知识,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-04-04
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
今天小编就为大家分享一篇vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08
如何封装axios form-data针对统一的formData入参方式
这篇文章主要介绍了如何封装axios form-data针对统一的formData入参方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-05-05


最新评论