require.context()实现自动化导入文件

require.context是什么?

它是webpack的一个api,通过require.context函数获取一个特定的上下文,主要用来实现自动化导入模块。如果需要从一个文件夹中引入很多模块文件,可以使用这个api,它会遍历文件夹中的指定文件,然后自动导入,使我们不再需要写大量显式的import导入;

模块方法(module methods) | webpack 中文网

require.context的语法使用

require.context 接受3个参数:

  1、directory{ String } - 读取的文件夹路径

  2、useSubdirectories { Boolean } - 是否遍历文件的子目录

  3、regExp { RegExp } - 匹配文件的正则规则

语法: require.context ( directory, useSubdirectories = false, regExp = /^.// )

这里用于自动引入路由文件

import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';

const routes: Array<RouteRecordRaw> = [];

require.context('./modules', false, /\.ts/).keys().forEach((RouteName) => {
	routes.push(require.context('./modules', false, /\.ts/)(RouteName).default);
});

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes,
})

export default router,

还常用于自动导入组件,静态资源(如:svg);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值