我正在尝试将所有资产复制到我的公共目录中,但我想要除 JavaScript 和 CSS 文件之外的所有资产,因为它们被连接并缩小为 prod.min.js
和 prod.min.css
所以我想为 min.js
和 min.css
文件设置两个例外。
我已经尝试过这个(目前仅适用于 JS)
gulp.src([src + '/**/*', src + '/**/*.min.js', '!' + src + '/**/*.js'])
.pipe(gulp.dest(dest))
但它导致根本没有JavaScript文件。
怎么能做到这一点?
为 CSS 和 JS 创建单独的 glob 数组。然后,您可以更有选择性地移动哪些内容。
我现在也在处理这个问题。
我修补它的方式(这是一个补丁,因为它不是真正的最佳解决方案)是通过两次传递:
- 第一次传递 ->移动所有 (
**/*.*
) 文件并否定所有 js 扩展名 (!**/*.js
) - 第二遍 ->仅移动缩小的文件 (
**/*.min.js
)
一个快速任务示例:
gulp.task('move-min-not-src', [], function() {
var paths = [
[
'source-folder/**/*.*',
'!source-folder/**/*.js'
],
[
'source-folder/**/*.min.js'
]
];
paths.forEach(function(path) {
gulp.src(path)
.pipe(
gulp.dest('destination-folder/')
);
});
});