2015-12-27 6 views
2

Требуемых шаговГлотка инъекционная задача не работает при вызове с выполнением последовательностью

  1. clean build каталога.
  2. compile typescript files затем поместите скомпилированные файлы для сборки каталога.
  3. inject compiled files как скрипт для index.html, затем поместите его в каталог.

Структура проекта

-- build 
-- src 
    --app 
    --app.ts 
    .. 
-- index.html 

index.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
</head> 
<body> 
    <!-- inject:js --> 
    <!-- endinject --> 
</body> 
</html> 

глотком задачи

"devDependencies": { 
    "del": "^2.2.0", 
    "gulp": "^3.9.0", 
    "gulp-inject": "^3.0.0", 
    "gulp-typescript": "^2.10.0", 
    "run-sequence": "^1.1.5" 
} 

gulp.task('clean', function() { 
    return del('build'); 
}); 

gulp.task('ts', funtion() { 
    var tsProject = ts.createProject('tsconfig.json'); 
    return tsProject.src('src/**/*.ts') 
     .pipe(ts(tsProject)) 
     .js.pipe(gulp.dest('build')); 
}); 

gulp.task('inject', funtion() { 
    return gulp.src('index.html') 
     .pipe(inject(gulp.src('build/**/*.js', {read: false}), {ignorePath: 'build', relative: true})) 
     .pipe(gulp.dest('build')); 
}); 

gulp.task('build', function() { 
    runSequence('clean', 'ts', 'inject'); 
}); 

Проблема

Когда я выполняю gulp ts && gulp inject, он отлично работает.

Когда я освобождаю gulp build, inject не работает без печати сообщений.

Я думаю, что есть проблемы с run-sequence. Не могли бы вы помочь мне разобраться с проблемами и как их решить?

ответ

1

После нескольких часов рытья я понял, что когда задача возвращает поток, соответствующий правилу, последовательность выполнения останавливается без предупреждения или ошибки. Надеюсь, это поможет любому, у кого есть такая же проблема.

+0

Не могли бы вы рассказать, что вы подразумеваете под соответствующим потоком. Пожалуйста, уточните свой ответ с помощью некоторого кода. –

+0

@SrikanthReddyKarnati код в вопросе. Попытайтесь сосредоточить «чистую задачу», она не вернет правильный поток, поэтому последовательность остановится там. –