2017-12-16 24 views
0

프로젝트에 꿀꺽 꿀꺽한 작업을 구현했습니다. gulp-assests-version-replace를 설치하여 CSS 파일의 버전 제어 파일을 만들었습니다.꿀풀 시퀀스가 ​​작동하지 않습니다.

이제 app.css를 만든 후에 위의 작업을 실행하고 싶습니다. app.css를 만들기 전에 실행되므로 버전 제어 파일을 만들 수 없습니다.

다음은 꿀꺽 꿀꺽한 작업을 실행하기위한 꿀꺽 꿀꺽 소리 파일입니다.

var gulp = require('gulp'); 

var autoprefixer = require('gulp-autoprefixer'); 
var changed  = require('gulp-changed'); 
var concat  = require('gulp-concat'); 
var del   = require('del'); 
var gulpif  = require('gulp-if'); 
var gutil  = require('gulp-util'); 
var imagemin  = require('gulp-imagemin'); 
var jshint  = require('gulp-jshint'); 
var notify  = require('gulp-notify'); 
var plumber  = require('gulp-plumber'); 
var rename  = require('gulp-rename'); 
var sass   = require('gulp-sass'); 
var assetsVersionReplace = require('gulp-assets-version-replace'); 
var uglify  = require('gulp-uglify'); 


var path = { 
    assets: 'skin/frontend/custom_theme/default/' 
}; 

var config = { 
    tasks: { 
     css: { 
      autoprefixerOptions: { 
       // For "browserslist" see "package.json" 
       cascade: false, 
       supports: false // See: https://github.com/filamentgroup/select-css/issues/17 
      }, 
      dest: path.assets + 'css/build', 
      sassOptions: { 
       outputStyle: 'compressed' 
      }, 
      src: path.assets + 'css/src/**/*.scss' 
     }, 
     version: { 
      autoprefixerOptions: { 
       // For "browserslist" see "package.json" 
       cascade: false, 
       supports: false // See: https://github.com/filamentgroup/select-css/issues/17 
      }, 
      dest: path.assets + 'css/build', 
      sassOptions: { 
       outputStyle: 'compressed' 
      }, 
      src: path.assets + 'css/build/app.css' 
     } 
    } 
} 

gulp.task('default', ['clean'], function() { 
    gulp.start('css'); 
    gulp.start('assetsVersionReplace'); 
}); 

    gulp.task('clean', function() { 
    return del([ 
     path.assets + 'css/build', 
     path.assets + 'js/build', 
     path.assets + 'js/min', 
     path.assets + 'img/build' 
    ]); 
}); 
gulp.task('css', function() { 
    return gulp.src(config.tasks.css.src) 
     .pipe(plumber({ 
      errorHandler: reportError 
     })) 
     .pipe(sass(config.tasks.css.sassOptions)) 
     .pipe(autoprefixer(config.tasks.css.autoprefixerOptions)) 
     .pipe(gulp.dest(config.tasks.css.dest)); 
}); 

gulp.task('assetsVersionReplace', function() { 
    return gulp.src(config.tasks.version.src) 
    .pipe(assetsVersionReplace({ 
     replaceTemplateList: [ 
     'app/design/frotend/custom_theme/default/template/page/head.phtml' 
     ] 
    })) 
    .pipe(gulp.dest(config.tasks.version.dest)) 
}); 

gulp.task('watch', function() { 
    // Run "default" immediately 
    gulp.start('default'); 

    // CSS 
    gulp.watch(config.tasks.css.src, ['css']); 
    gulp.watch(config.tasks.version.src,    ['assetsVersionReplace']); 
}); 

CSS를 생성 한 후 (또는 'CSS'실행 후) assetsVersionReplace 작업을 어떻게 실행할 수 있습니까?

답변

0

어느 쪽이든은 옵션이 아닌 경우, 도우미 작업

gulp.task('assetsVersionReplaceAfterCss', ['css'], function() { 
    gulp.start('assetsVersionReplace'); 
} 

사용하는 대신

0

를 추가

gulp.task('assetsVersionReplace', function() { 

,

gulp.task('assetsVersionReplace', ['css'], function() { 

에 또는 변경 왜 꿀꺽 마시는거야? 시리즈.

gulp.task('default', 
    gulp.series(
     'css', 
     'assetsVersionReplace' 
    ) 
); 
+0

gulp.series는 gulp4.0 전용이며 아직 베타 버전입니다! – Mark