#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. Отлично, спасибо! Да, пожалуйста, обновите документы. Отличная работа, кстати!