2014-11-18 7 views
0

Я хочу использовать gulp-inject в конце моего процесса сборки, чтобы включить все файлы javascript в html. Я хочу использовать CI, поэтому моя цель - всегда начинать с очистки выходного каталога и генерировать новую версию общедоступного каталога. Проблема в том, что моя сборка довольно медленная - я использую скрипты angular.js и cofee для многих файлов. Моя задача выглядит так:Задача Gulp.js заканчивается перед обработкой всех файлов

gulp.task 'coffee',() -> 
    gulp.src files 
     .pipe $.flatten() 
     .pipe $.if(!argv.production, $.sourcemaps.init()) 
     .pipe $.coffee().on 'error', (err) -> console.log(err) 
     .pipe $.ngAnnotate() 
     .pipe gulp.dest JS_OUTPUT 

И, к сожалению, файлы обрабатываются долго после сборки сделана - у меня есть многие из них, и операции по каждому довольно долгое время. Они не существуют при запуске gulp-inject.

Почему задача gulp.js заканчивается, даже если файлы все еще обрабатываются?

+0

Что вы подразумеваете под «задачами»? Можете ли вы опубликовать весь свой файл gulpfile? – Mathletics

ответ

-1

Я не уверен, что ваш образец, переведенный на javascript, возвращает что-то или нет: возвращение потока является одним из способов, которым gulp должен знать, была ли выполнена задача или нет.

Вы можете прочитать этот рецепт: running-tasks-in-series. Мне было очень полезно понять основы, не читая документы. D

+0

Это должен быть комментарий. FYI coffeescript всегда возвращает последнее выражение. – Mathletics

+0

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

+0

Ответы на SO предназначены для самостоятельного использования. Если эта ссылка опускается, этот ответ бесполезен. – Mathletics