Gulp 按顺序连接
Gulp concat in order
我想使用 GulpJS 创建一个 sass 文件。主要问题是 gulp.src()
有一个我想在串联时遵守的特定顺序。
我的任务不成功...
gulp.task('createGlobalScss', function(done) {
return gulp.src([
'sass/colors.scss',
'sass/theme.scss',
'sass/settings.scss',
'sass/functions.scss',
'sass/mixins.scss',
'sass/components/**/settings.scss',
'sass/theme.scss',
'sass/components/**/*.scss'
])
.pipe(concat('globalScss.scss'))
.pipe(gulp.dest('./'));
done();
});
问题:结果混乱,我不想使用 SASS 中的 @import
。
查看 gulp-order
The gulp plugin gulp-order allows you to reorder a stream of files using the same syntax as of gulp.src.
您的任务可以这样组织...
var order = require('gulp-order');
gulp.task('createGlobalScss', function() {
return gulp.src('sass/**/*.scss')
.pipe(order([
'sass/colors.scss',
'sass/theme.scss',
'sass/settings.scss',
'sass/functions.scss',
'sass/mixins.scss',
'sass/components/**/settings.scss',
'sass/theme.scss',
'sass/components/**/*.scss'
], { base: __dirname }))
.pipe(concat('globalScss.scss'))
.pipe(gulp.dest('./'));
});
您也可以在此处删除 done
,因为在这种情况下您不需要显式异步回调。另请注意,我需要指定一个 base
option 才能使其按预期工作。
根据我们下面的讨论,here is a proof of concept 证明了这个与提议的解决方案一起工作...
我想使用 GulpJS 创建一个 sass 文件。主要问题是 gulp.src()
有一个我想在串联时遵守的特定顺序。
我的任务不成功...
gulp.task('createGlobalScss', function(done) {
return gulp.src([
'sass/colors.scss',
'sass/theme.scss',
'sass/settings.scss',
'sass/functions.scss',
'sass/mixins.scss',
'sass/components/**/settings.scss',
'sass/theme.scss',
'sass/components/**/*.scss'
])
.pipe(concat('globalScss.scss'))
.pipe(gulp.dest('./'));
done();
});
问题:结果混乱,我不想使用 SASS 中的 @import
。
查看 gulp-order
The gulp plugin gulp-order allows you to reorder a stream of files using the same syntax as of gulp.src.
您的任务可以这样组织...
var order = require('gulp-order');
gulp.task('createGlobalScss', function() {
return gulp.src('sass/**/*.scss')
.pipe(order([
'sass/colors.scss',
'sass/theme.scss',
'sass/settings.scss',
'sass/functions.scss',
'sass/mixins.scss',
'sass/components/**/settings.scss',
'sass/theme.scss',
'sass/components/**/*.scss'
], { base: __dirname }))
.pipe(concat('globalScss.scss'))
.pipe(gulp.dest('./'));
});
您也可以在此处删除 done
,因为在这种情况下您不需要显式异步回调。另请注意,我需要指定一个 base
option 才能使其按预期工作。
根据我们下面的讨论,here is a proof of concept 证明了这个与提议的解决方案一起工作...