2015-05-13 19 views
5

Geliştirme aşamasında çalışırken (sbt run) üretimden (sbt dist/sbt start) farklı bir değere sahip bir sbt ayarı olmasını isterim.Farklı sbt-web boru hattı geliştirme ve üretimde görev ayarları?

Özellikle sbt-uglify kullanıyorum. Javascript varlıklarını tek bir dosyada birleştirmek için bunu geliştirme aşamasında kullanıyorum. Sıkıştırma ve mangling geliştirme konusunda engelliyim çünkü kodun hata ayıklamasını zorlaştırıyor.

Üretimde, uglifyjs öğesinin ölü kod kaldırma özellikleri kullanılarak olası hata ayıklama kod bloklarını (if (DEBUG) { ... }) kaldırmak için sıkıştırma kullanmak istiyorum.

// "in Assets" to use uglify in dev & prod 
pipelineStages in Assets := Seq(uglify) 

// enable compression and mangling in prod 
UglifyKeys.compress := true 
UglifyKeys.mangle := true 

// disable in development (DOESN'T WORK! Values are always true) 
UglifyKeys.compress in Assets := false 
UglifyKeys.mangle in Assets := false 
+0

Assets' içinde 'kullanımı çalıştırabilir bu

def optimize = System.getProperty("optimize") != null UglifyKeys.compress := optimize UglifyKeys.mangle := optimize 

böyle bir şey yaptığını sona erdi ve muhtemelen:

Ben bu işe bekleniyor 'pipeelineStages' özel. Devrede 'uglify' çalıştırmanız mı gerekiyor? –

+0

Sadece tüm * .js'leri tek bir dosyada birleştirmek için kullanılır. Hatırlayamadığım nedenlerden dolayı 'sbt-concat' kullanamadım. – dwickern

cevap

1

Ben Sonra sbt dist -J-Doptimize