如何在gull.src.options.base中动态解析路径
How to parse path dynamically in gulp.src.options.base
我正在尝试使用主要的bower文件编写基于gull的应用程序。我想将我和供应商的所有资产文件复制到%build_dir%/assets文件夹中,但字体文件应复制到%build_dir%/assets/fonts中。如果没有供应商文件,可以通过gulp.src.options.base选项轻松完成。但我不明白如何处理供应商文件。现在我有
gulp.task('assets', ['less'], function() {
return gulp.src('src/less/fonts/*', {base: 'src/less'})
.pipe(addSrc('src/assets/**.*'))
.pipe(addSrc(mainBowerFiles(/.*woff|woff2|otf|ttf/, {includeDev: true})))
.pipe(gulp.dest(buildDir + '/assets'));
});
但它将供应商字体复制到%build_dir%/assets。因此,理想的情况是将base编写为regexp,该regexp解析供应商字体的路径,并获取/fonts之前的所有路径。怎么做?
供应商文件夹具有下一个结构:
/bower_components
/lib1
/fonts
font1.woff
/lib2
/fonts
font2.otf
/lib3
/fonts
font3.ttf
所以,理想的情况是将base编写为regexp,解析供应商字体的路径,并在/fonts之前获取所有路径。怎么做?
不可能。base
选项不支持正则表达式。只有字符串。
无论如何,您不需要base
选项。只需创建两个流,每个流都有自己的gulp.dest()
。然后使用merge-stream
:合并这些流
var merge = require('merge-stream');
gulp.task('assets', ['less'], function() {
return merge(
gulp.src(['src/less/fonts/*'].concat(mainBowerFiles(/.*woff|woff2|otf|ttf/, {includeDev: true})))
.pipe(gulp.dest(buildDir + '/assets/fonts')),
gulp.src('src/assets/**.*')
.pipe(gulp.dest(buildDir + '/assets')));
});
这也意味着您不再需要gulp-add-src
。
相关文章:
- 动态路径用于流星/铁路由器
- 在angularjs中动态路由url路径
- 如何根据两个不同的输入动态设置链接的路径
- 在使用 Django 静态文件时动态设置映像时,只有绝对路径才能与 jquery 一起使用
- 如何在应用中管理到 Firebase 数据的动态路径
- 将URL路径与<a>attr('href')来动态更新.active类
- 动态页面替换内容中的路径
- Yeoman构建注释标记中的动态路径
- “错误:命名模块未知”,从动态路径加载反应本机图像
- 角度 - 使用具有回退功能的动态路径加载自定义模板
- 动态路径变量播放音频.mp3文件 如何?D3 JavaScript 咖啡脚本
- AngularJS V1.4.7指令模板URL动态路径
- 使用javascript类型BLOB的WebWorker创建一个带有动态路径的WebSocket
- 获取包含动态路径的文件路径
- React路由器没有返回动态路径
- 在Angular JS中使用:before pseudo元素来插入具有动态路径的图像
- 如何使用Bootstrap Tour和动态路径处理多页游览
- 如何使用HTML和PHP在网站URL中创建动态路径
- 使用ES6语法和动态路径导入模块
- 我可以给图像和css纯粹在客户端动态路径