Ошибка типа: не имеет метода isAbsolute
Я хочу минимизировать любой CSS в моей папке, где я использую плагин gulp-clean-css для gulp.
Мой код:
gulp.task('CSS-Pack', function () {
return gulp.src(['Content/App.css', './Content/ApprovalForm.css'])
.pipe(concat('stylesheets.css'))
.pipe(cleanCSS({ debug: true }, function (details) {
console.log(details.name + ': ' + details.stats.originalSize);
console.log(details.name + ': ' + details.stats.minifiedSize);
}))
.pipe(gulp.dest('build/'));
});
gulp.task('CSS-PackAll', function () {
return gulp.src('Content/*.css')
.pipe(concat('stylesheets.css'))
.pipe(cleanCSS({ debug: true, specialComments: false }, function (details) {
console.log(details.name + ': ' + details.stats.originalSize);
console.log(details.name + ': ' + details.stats.minifiedSize);
}))
.pipe(gulp.dest('build/'));
});
Моя задача CSS-Pack работает, но когда я запускаю задачу CSS-Pack, у меня возникает следующая ошибка:
Где я использую minify-css (я хочу использовать gulp-clean-css, потому что minify-css запрещен) плагин CSS-PackAll работает..
: \ Users \ gkv \ TFS \ SharePoint Online \ LirexAddHolidayRequest \ node_modules \ gulp-clean-css \ node_modules \ clean-css \ lib \ reader \ rewrite-url.js: 45 return path.isAbsolute (uri); ^ TypeError: У объекта # нет метода 'isAbsolute' в isAbsolute (C:\Users\gstev\TFS\SharePoint Online\LirexAddHolidayRequest\node_modules\gulp-clean-css\node_modules\clean-css\lib\reader\rewrite-url.js:45:15) в rebase (C:\Users\gkrystev\TFS\SharePoint Online\LirexAddHolidayRequest\node_modules\gulp-clean-css\node_modules\clean-css\lib\reader\rewrite-url.js:23:7) в rewriteUrl (C:\Users\gkrystev\TFS\SharePoint Online\LirexAddHolidayRequest\node_modules\gulp-clean-css\node_modules\clean-css\lib\reader\rewrite-url.js:114:5) в rebaseSourceMapComment (C:\Users\gkrystev\TFS\SharePoint Online\LirexAddHolidayRequest\node_modules\gulp-clean-css\node_modules\clean-css\lib\reader\rebase.js:78:45) Процесс завершен с кодом 8.
1 ответ
Я понимаю, что, строго говоря, это не решение вашей проблемы, но я столкнулся с этой ошибкой, когда использовал gulp-clean-css для минимизации нашего CSS, и отследил проблему до одной строки в нашем источнике:
background-image: url('/img/cloader.gif') no-repeat center top;
Кажется, это проблема обработки относительного URL; в нашем случае мы больше не нуждались в этом стиле, и удаление его решило проблему. Надеюсь это поможет.