Я создал задачу с Глотком, который должен:глоток задачи: CleanCSS и Дорожка
- Регистрации нескольких файлов CSS;
- Minify + удалить ненужные CSS;
- Исправление путей для директив
url()
и других; - Создание исходных карт;
Мой текущий код для этого:
var gulp = require("gulp"),
concat = require("gulp-concat"),
cleanCSS = require("gulp-clean-css"),
sourcemaps = require("gulp-sourcemaps");
var styleList = [
"Resources/Include/ionicons/css/ionicons.css",
"Resources/base.css",
"Resources/extra.css",
];
gulp.task("deploy-css", function() {
gulp.src(styleList)
.pipe(sourcemaps.init())
.pipe(concat("style.min.css"))
.pipe(cleanCSS({
debug: true,
compatibility: "ie8",
keepSpecialComments : 0,
target: "Resources/",
relativeTo: "Resources/"
})
)
.pipe(sourcemaps.write())
.pipe(gulp.dest("Resources/"))
});
url()
пример пути, взятый из файла Resources/Include/ionicons/css/ionicons.css
:
@font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.eot?v=2.0.0");
Это моя текущая структура файла:
./Resources/style.min.css // -> Final processed file
./Resources/base.css
./Resources/extras.css
./Resources/Include/ // -> Original CSS files with URL (installed via Bower)
Тестовая папка: https://dl.dropboxusercontent.com/u/2333896/gulp-path-test.zip (установить, а затем запустить с gulp deploy-css
).
Почти все работает должным образом, за исключением случаев, когда файлы CSS содержат ссылки на изображения или шрифты, используя опцию url()
. После запуска задачи (и создаются style.min.css
) эти ссылки разбиты - никаких изменений в путях, найденных в исходных файлах CSS, не было.
Не стоит cleanCSS
проверить, где находятся указанные файлы, и исправить пути автоматически? Не используются ли опции target
и relativeTo
?
Как это исправить? Спасибо.
Дополнительная информация необходима. Какова ценность 'styleList'? Как выглядят пути 'url()' перед обработкой? Как они выглядят после обработки? Где находятся ресурсы ссылок? Вам нужно предоставить [mcve]. –
@SvenSchoenung проверить мои изменения. – TCB13
Не воспроизводимый. Запуск вашего примера дает 'src: url (Include/ionicons/fonts/ionicons.eot? V = 2.0.0)'. –