2016-04-01 53 views
1

Bir dizinde iki birleştirilmiş CSS dosyasına ihtiyacım var - biri sourcemap ve diğeri olmadan.İki CSS dosyası nasıl yazılır: sourcemap ile birlikte ve olmadan

.pipe(sourcemaps.init()) 
.pipe(concat('xxx.dev.min.css')) 
.pipe(sourcemaps.write()) 
.pipe(gulp.dest(cssDir)) 
.pipe(sourcemaps.init({loadMaps:true})) 
.pipe(concat('xxx.min.css')) 
.pipe(sourcemaps.write('/dev/null', {addComment: false})) 
.pipe(gulp.dest(cssDir)) 

Tüm benim iki dosya ya bir sourcemap sahip hem sourcemap veya bir açmaz sonuçlandı çalışıyorsanız sourcemap başka dayalı olan, orijinal dosyalar üzerinde: Ne örneğin çalıştı böyle bir şeydir.

Bu, sadece gulp-sourcemaps'larla ve nasıl ve ne yapılıp yapılmadığı ile gerçekleştirilebilir mi?

cevap

1

Ben şu işe gerektiğini düşünüyorum: Kaynak eşleştirmeleri üretildiğini önce bu hedef dizine birleştirilmiş withoutSourcemap.css gönderir

. Daha sonra, dosyayı sadece withSourcemap.css olarak yeniden adlandırıyoruz. Sadece bundan sonra, kaynak haritaya yazılan ve hedef dizine gönderilen kaynak harita. DÜZENLEME

: Bu benim durumumda withSourcemap.css oluşturulur:

.one { color:red; } 

.two { color:blue; } 

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9uZS5jc3MiLCJ0d28uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUNEQTtBQUNBIiwiZmlsZSI6IndpdGhTb3VyY2VtYXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm9uZSB7IGNvbG9yOnJlZDsgfVxuIiwiLnR3byB7IGNvbG9yOmJsdWU7IH1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */ 

Base64 deşifre gömülü kaynak haritası aşağıdaki verimleri:

{"version":3,"sources":["one.css","two.css"],"names":[],"mappings":"AAAA;AACA;ACDA;AACA","file":"withSourcemap.css","sourcesContent":[".one { color:red; }\n",".two { color:blue; }\n"],"sourceRoot":"/source/"} 
+0

Güzel deneyin, ama bu bir sourcemapin yaratacak withSourcemap.js, onsourcemap.js tabanlı, js/one.js ve js/two.js tabanlı değil, çünkü 2 dosya zaten akışta birleştirildi :) Aslında bunu böyle kurdum ve bunun da işe yarayacağını düşündüm. – bogatyrjov

+0

Huh? Oluşturulan kaynak haritanın "kaynakları" vardır: ["one.css", "two.css"] "kaynaklar" değil: ["withoutSourcemap.css"] '(yukarıdaki düzenlememe bakın), bunun anlamı, ".css "ve" two.css "," withoutSourcemap.css "değil. Bir şeyi yanlış anlamadığım sürece. –

+0

Gerçekten iyi çalıştı, kötüyüm. Daha önce yanlış yaptım. Teşekkürler ;) – bogatyrjov