require.context做了什么

参考:
使用require.context实现前端工程自动化:
https://www.jianshu.com/p/c894ea00dfec
始末:https://juejin.im/post/5c106485e51d450e657571a6

什么时候使用:
在Vue写的项目中,我把路由通过不同的功能划分成不同的模块,在index.js中一个个导入,但是如果项目变大了之后,每次手动import会显得有些力不从心,这里可以使用require.context函数遍历modules文件夹的所有文件一次性导入到index.js中(排除index.js)。

require.context('./routes', false, /.test.js$/);

参数:读取文件的路径,是否遍历文件的子目录,匹配文件的正则。

值得注意的是require.context函数执行后返回的是一个函数,并且这个函数有3个属性:
resolve ,keys ,id 。

  1. resolve :函数。接受一个参数request。request为routes文件夹下面匹配文件的相对路径(eg:files.keys()[0]),返回这个匹配文件相对于整个工程的相对路径(eg:./src/router/routes/login.js)。files.resolve(files.keys()[0])
  2. keys:函数。返回匹配成功模块的名字组成的数组。eg:files.keys() => ["./login.js","./reset.js"]
  3. id:string。eg:files.id => "./src/router/routes sync \.js$"

talk is cheap ,show me the code

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值