require.context的使用

require.context的使用

  • require.context(directory,useSubdirectories,regExp)

directory: 表示检索的目录
useSubdirectories:表示是否检索子文件夹
regExp: 匹配文件的正则表达式,一般是文件名

例如 require.context(“@/views/components”, false, /.vue$/)

  • eg: vue router路由
import Vue from "vue";
import VueRouter from "vue-router";
import upperFirst from "lodash/upperFirst";
import camelCase from "lodash/camelCase";
Vue.use(VueRouter);

const routes = [];
const requireComponent = require.context("../views", true, /index.vue$/);
console.log("xxx", requireComponent.keys());

requireComponent.keys().forEach((fileName) => {
  //转换字符串string的首字母为大写
  const componentName = upperFirst(
    //转换字符串string为驼峰写法。
    camelCase(
      fileName
        .split("/index")
        .shift()
        .replace(/\.\w+$/, "")
    )
  );
  routes.push({
    //将字符串转换为小写:
    path: `/${componentName.toLocaleLowerCase()}`,
    name: componentName,
    component: () => import(`@/views/${componentName}/index.vue`),
    // meta: { title: ComponentConfig.title ? ComponentConfig.title : (new ComponentConfig()).title }
  });
  console.log("routes", routes);
});
routes.unshift({
  path: "/",
  redirect: "/homepage",
});
const router = new VueRouter({
  mode: "hash",
  base: "/test/",
  routes,
});
export default router;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值