2017-12-20 9 views
1

GulpJS를 사용하여 sass 파일을 만들고 싶습니다. 가장 큰 문제는 gulp.src()에 연결할 때 존중하고 싶은 특정 순서가 있다는 것입니다. 작동하지 않는Gulp concat in order

내 작업 ...

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(); 
}); 

문제 : 결과는 무질서하고 내가 말대꾸에서 @import를 사용하지 않습니다.

답변

1

밖으로 gulp-order

쭉 마시는 차 플러그인 꿀꺽 당신이 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


...

+0

그것은 golbalScss.scss''에서 작동하지 않습니다, 그것은'말대꾸의 내용으로 시작되지 않은/colors.scss'와'gulp-order'를 비교합니다. – tonymx227

+0

'$ badge-bg '파일은 무엇입니까? 부트 슬랩 같아서 – scniro

+0

@ tonymx227을 편집 한 것 같습니다. 거기에 다른 파일이 있으면 주문 배열 끝에'sass/**/*. scss'를 추가하십시오. 여기에 나열된 순서로 보유하고있는 모든 파일을 명시 적으로 식별합니까? – scniro