如何在require.context中排除指定文件类型(如.css/.ejs/.abc)
解决require.context排除特定文件类型的问题
这问题我太熟悉啦!要排除.css、.ejs或者.abc这类特定扩展名的文件,只需要修改require.context第三个参数的正则表达式就行——核心思路是用负向前瞻来过滤掉我们不需要的文件。
调整后的代码
let requireContext = require.context('../scripts', true, /^(?!.*\.(css|ejs|abc)$).*/);
正则表达式解释
咱们拆解一下这个正则的逻辑:
^:匹配字符串的起始位置(?!.*\.(css|ejs|abc)$):这是负向前瞻断言,意思是**“当前位置后面不能出现‘任意字符 + 点 + 指定扩展名 + 字符串结尾’的内容”**.*:匹配剩下的所有合法文件路径
如果之后需要排除更多扩展名,直接在括号里添加即可,比如要加.xyz的话,改成(css|ejs|abc|xyz)就好。
内容的提问来源于stack exchange,提问作者hashbytes
相关产品推荐
相关产品推荐

