我有以下gulp任务,基本上它的作用是:
theme/app
文件夹theme/app
文件夹theme/app
文件夹中的所有文件连接到单个文件theme
theme/app
文件夹我无法完成最后一步的工作,我需要删除theme/app
中的所有文件。
我没有具体的错误,我的脚本中可能出现什么问题以及如何解决它?
gulp.task('_release-theme:compile', function () {
gulp.src([
'app/**/*.styl',
'!app/**/**mixins**.styl',
'!app/**/**variables**.styl',
])
.pipe(stylus({
compress: false,
use: nib()
}))
.pipe(gulp.dest('theme/app'))
.pipe(cleanCSS())
.pipe(concat('theme.css'))
.pipe(header(fs.readFileSync('licenses/app.txt', 'utf8')))
.pipe(gulp.dest('theme/'))
.pipe(vinylPaths(del['theme/app/**/*'])); // problem here
});
答案 0 :(得分:2)
del
是一个功能。您的对象属性访问del['theme/app/**/*']
在这里没有任何意义。
而是在流中监听end
事件,然后使用rimraf
删除文件:
var rimraf = require('rimraf');
gulp.task('_release-theme:compile', function (done) {
gulp.src([
'app/**/*.styl',
'!app/**/**mixins**.styl',
'!app/**/**variables**.styl',
])
.pipe(stylus({
compress: false,
use: nib()
}))
.pipe(gulp.dest('theme/app'))
.pipe(cleanCSS())
.pipe(concat('theme.css'))
.pipe(header(fs.readFileSync('licenses/app.txt', 'utf8')))
.pipe(gulp.dest('theme/'))
.on('end', function() {
rimraf('theme/app/**/*', done);
});
});