Как использовать gulp-uncss-задачу для удаленных файлов

#node.js #gulp

#node.js #gulp

Вопрос:

Предисловие: я использую uncss, и, как говорится в инструкциях, использовать его из командной строки просто:

 uncss [options] <file or url, ...>
e.g. uncss http://getbootstrap.com/examples/jumbotron/ > stylesheet.css
  

И, как указано, это работает с удаленными файлами (даже со скриптами php), так что я могу, например, вызвать:

 uncss http://www.example.com/myPage.php > myPage.css
  

и это будет работать безупречно.

Кроме того, я заставил его работать в Node.js приложение (согласно инструкциям из документации):

 var uncss = require('uncss');

var files   = [],
    options = {
        urls         : ['http://www.example.com/myPage.php'], // Deprecated
    };

uncss(files, options, function (error, output) {
    console.log(output);
});
  

Мне интересно, почему Deprecated комментарий в urls — я не смог найти никакой дополнительной информации для этого?

Актуальный вопрос: Поскольку я использую gulp для выполнения своих задач сборки, я хотел бы использовать gulp-unss-task для достижения той же цели (разблокировки удаленного файла), чтобы затем я мог передать его дальше в задачу минимизации. Как видно из документации, это невозможно, но было бы признателен, если бы кто-нибудь занимался этим раньше и, возможно, нашел решение.

Документы по использованию для gulp-uncss-task:

 var gulp = require('gulp');
var uncss = require('gulp-uncss-task');

gulp.task('default', function() {
    gulp.src('bootstrap.css')
        .pipe(uncss({
            html: ['index.html', 'contact.html', 'about.html']
        }))
        .pipe(gulp.dest('dest'));
});
  

Комментарии:

1. Взгляните на: uncss.io , может быть, они смогут вам помочь, поскольку я не могу.

Ответ №1:

Я поддерживаю gulp-uncss. Что вам нужно будет сделать, так это пройти по вашим URL-адресам, используя html опцию; urls не рекомендуется из-за этой функции. Я понимаю, что это не задокументировано должным образом в readme для плагина, поэтому я собираюсь обновить это. Но в то же время этот код поможет:

 gulp.task('uncss', function() {
    gulp.src('site.css')
        .pipe(uncss({
            html: [
                'http://www.example.com/myPage.php'
            ]
        }))
        .pipe(gulp.dest('./out'));
});
  

Обратите внимание, что здесь необходимо передать массив, если вы хотите указать пути к файлам / URL-адреса. Надеюсь, это поможет.

Комментарии:

1. Отлично, спасибо! Да, пожалуйста, обновите документы. Отличная работа, кстати!