gulp-useref не заменяет <-! build -> когда он находится в файле PHP

Я пытаюсь использовать gulp-useref. Все работает нормально, пока мое имя файла index.html, но если я переименую его в index.php (также меняется gulp.src('app/*.html') в gulp.src('app/*.php') в gulpfile.js), он по-прежнему создает минимизированные конкатинированные файлы CSS и JS, но не заменяет <!-- build ><!-- endbuild > блок в файле назначения.

Исходные индексные файлы (и целевой файл index.php):

<!-- build:js main.min.js -->
<script src="js/test.js"></script>
<script src="js/test.js"></script>
<!-- endbuild -->

Целевой index.html (это то, что я хочу, когда я переименую его в index.php тоже):

<script src="main.min.js"></script>

рабочий gulpfile.js:

gulp.task('useref', function(){
    return gulp.src('app/*.html')
        .pipe(useref())
        .pipe(gulpIf('*.js', uglify()))
        // Minifies only if it's a CSS file
        .pipe(gulpIf('*.css', cssnano()))
        .pipe(gulp.dest('dist'))
});

тот, который не заменяет <!-- build ><!-- endbuild --> блок:

gulp.task('useref', function(){
    return gulp.src('app/*.php')
        .pipe(useref())
        .pipe(gulpIf('*.js', uglify()))
        // Minifies only if it's a CSS file
        .pipe(gulpIf('*.css', cssnano()))
        .pipe(gulp.dest('dist'))
});

Что может вызвать эту проблему и как я могу исправить это быстро?

1 ответ

Я заставил это работать, gulp.watch задача вызвала эту проблему. Я не управлял useref Задача правильно, когда я наблюдал за изменениями файлов.

Когда это не сработало:

// Watch for file changes:
gulp.task('watch', ['sass', 'useref', 'copy'], function(){
    gulp.watch('app/scss/**/*.scss', ['sass']);

    // Reload the browser whenever PHP or JS files change:
    gulp.watch('app/js/**/*.js', ['copy']);
    gulp.watch('app/**/*.php', ['copy']);
    gulp.watch('app/.htaccess', ['copy']);
    // Other watchers
});

Когда это вдруг начало работать:

// Watch for file changes:
gulp.task('watch', ['sass', 'copy'], function(){
    gulp.watch('app/scss/**/*.scss', ['sass', 'useref']);

    // Reload the browser whenever PHP or JS files change:
    gulp.watch('app/js/**/*.js', ['useref']);
    gulp.watch('app/**/*.php', ['copy']);
    gulp.watch('app/.htaccess', ['copy']);
    // Other watchers
});
Другие вопросы по тегам