Fork me on Bolg '◡'

这个批量引入组件的方法,挺酷

我们在写vue组件的时候,如果在一个组件里引入多个组件,一般的写法是这样的

完全没毛病,但是这样的写法就有点累赘,每次新增一个组件又要添加多处,原来现在已经有更方便的写法了,实践了一下,非常nice

const routes = {};
const contexts = require.context('../SubComponets', false, /\.vue$/);
contexts.keys().forEach(key => {  
  let name = key.slice(2, -4); 
  console.log(name);
  routes[name] = contexts(key).default || contexts(key);
})
 components: {
    ...routes
  },

代码解析:根据自己要引入的组件写require.context()的参数,第一个为路径;第二个为是否查找子文件夹;第三个为组件名字正则表达式匹配
然后可以遍历组件的名称,挂载到组件上。也可以通过过滤name的方法,挂载需要的组件,非常实用~

posted @ 2022-03-04 18:35  webhmy  阅读(299)  评论(1编辑  收藏  举报