我想做一個縮小的CSS文件,但包含一個源地圖,以防我需要調試生產時經常發生。這不起作用。如果我使用下面的代碼:吞吐少:運行少,concat和縮小與源代碼的CSS?
gulp.task('process:css', function() {
return gulp.src([paths.css, paths.less, "!" + paths.minCss])
.pipe(sourcemaps.init())
.pipe(less())
.pipe(concat(paths.concatCssDestMin))
.pipe(cleanCss())
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("."));
});
整個過程的工作原理和一切都產生了,最後的min.css是正確的並且工作正常,但源圖是bonkers,在瀏覽器中調試聲明所有樣式引用來自第一個引用文件的第1行或第2行源地圖:
但是,如果我從進程中刪除cssmin(),然後運行它,一切正常,包括源地圖。源映射引用原始文件,儘管我將它們全部合併成一個。
我在做什麼錯?我怎樣才能做到這一點?
編輯:按照vegasje的建議,我使用了錯誤的插件,但是當從mincss切換到cleanCss時,我仍然無法將單個min.css文件映射到原始文件。如果我刪除cleanCss()命令
{"version":3,"sources":["wwwroot/css/site.min.css"],"names":[],"mappings":..."
但是,再次:它僅引用concatted文件。源地圖看起來有效並且看起來正確:
{"version":3,"sources":["bootstrap.custom.css","kendo.custom.css","kendobootstrapfix.css","main.css","yamm.css","theme.less"],"names":[],"mappings":"A....
但是,它沒有被縮小。
謝謝你,這個刪除的瀏覽器不讀的地圖文件,但仍然那麼,地圖文件只引用這是concatted site.min.css文件,而不是它們來自的單個文件。根據這個答案,這似乎是按照預期工作:https://stackoverflow.com/questions/32502678/gulp-uglify-and-sourcemaps/32504135#32504135但後來這對我沒有幫助,因爲我想存儲地圖到原始文件。不知道是否有另一種方式。同樣的事情適用於它我刪除了cleanCss命令,它工作正常。問題只發生在縮小之後。 – SventoryMang
感謝編輯幫助!唯一的小問題是每個文件在連續文件中縮小1行。但這對我無關緊要。 – SventoryMang