使用Gulp排除文件夹后,如何从同目录单独引入单个文件?
在Gulp中精准选取单个JS文件(排除目录后重新引入)
没问题,这种先排除整个目录再单独捞回特定文件的操作在Gulp里是非常实用的技巧,刚好能解决你「文件夹多JS但只需要其中一个」的需求。我帮你把代码规范整理好,顺便拆解下逻辑:
核心逻辑
Gulp依赖的glob匹配规则是从左到右依次生效的:
- 先匹配所有你需要保留的通用文件(比如lib下的所有JS、plugins下的大部分JS)
- 用
!前缀排除掉不需要的整个子目录(比如fancybox下的所有JS) - 最后单独把那个你需要保留的文件加回来,覆盖之前的排除规则
格式化后的代码
var js_scripts = [ // 先匹配所有需要保留的通用JS文件 'js/dev/lib/**/*.js', 'js/dev/plugins/**/*.js', // 排除fancybox目录下的所有JS '!js/dev/plugins/fancybox/*.js', // 单独引入fancybox里你需要的那个特定文件 'js/dev/plugins/fancybox/jquery.fancybox-1.3.4.pack.js', // 可以继续添加其他排除和单独引入规则 '!js/dev/plugins/inner/*.js' // ... 更多规则 ];
小提示
- 一定要注意顺序:如果先写单独引入的文件,再写排除目录的规则,那这个单独文件也会被排除掉,所以排除规则要写在单独引入之前
- 可以把规则分组注释,像上面这样,后期维护起来更清晰
内容的提问来源于stack exchange,提问作者Brett
相关产品推荐
相关产品推荐

