2015-05-14 18 views
10

css/files dosyamı küçültmek için Laravel Elixir'i kullanmak istiyorum. Ama mix-metodu kullanmak ve birleştirmek istemiyorum. Tek istediğim, orijinal "custom.js" den bir "custom.min.js" dosyası oluşturmak. Bunu Elexir ile yapmanın bir yolu var mı?Laravel Elixir: Dosyaları nasıl küçültün?

DÜZENLEME: Bunu biraz daha açık hale getirmek için: En büyük sorunum "kaynaklar/varlıklar" da iki klasörüm olmasıdır: js ve css. Bu yüzden temelde tüm dosyaları küçültmek ve "public/js" ve "public/css" alanlarında küçültmek istiyorum. Laravel documentation den

cevap

21

Alıntı:

Not: Tüm görevleri bir geliştirme ortamı üstlenecek ve minification hariç tutacaktır. Üretim için gulp --production kullanın. Dosyaların yerine gulp koşmak gulp --production minified istiyorsanız

Bu demektir. Doğrudan gulp dosyasında sıkıştırmayı etkinleştirmekten daha iyi bir uygulamadır ve uygulamayı geliştirirken derlenmiş dosyalarınızı ayıkladığınızdan emin olun.

mix.less('app.less', 'public/assets/css'); 
+9

İkinizin de dev ve üretim dosyaları elde böylece yudum, aynı anda her iki koşmak olmasını tercih. Daha sonra uygulamamda, çevreye göre uygun olanı yüklüyorum. Bu, her seferinde minikasyonu yürütmeyi hatırlamaktan çok daha iyidir. – Oddman

4

yudum --Üretim:

İkinci parametre olarak yolu kullanın onları public/assets/css yerleştirilmesi istiyorsanız

.

Jeffrey yolu burada konuyla ilgili cevabı: https://laracasts.com/discuss/channels/elixir/elixir-doesnt-minify

Yoksa belgelere bulabilirsiniz. Kodlamanın tadını çıkarın! Sadece AZ veya Sass kullanmadan, .css dosyaları kopyalamak istiyor ve (eğer küçültme yeteneği ile copy() yöntemi gibi bir şey istiyorum yani) aşağıdakileri yaparak, styles() birleştirmek için yöntemi kullanabilirsiniz dosyaları birleştirmek için istemiyorsanız

1

her .css dosya için onu çağıran ve örneğin diziye olmadan dosya adı dizesi geçirerek:

mix.styles('some.css'); 
mix.styles('node_modules/bootstrap/dist/css/bootstrap.css', null, './'); 
aynı scripts() yöntemi kullanılarak .js dosyalar için yapılabilir

:

mix.scripts('some.js'); 
mix.scripts('node_modules/bootstrap/dist/js/bootstrap.js', null, './'); 

Ve sonra gulp (.map dosyaları küçültmez, oluşturur) veya gulp --production (minified dosyaları oluşturur) yukarıdaki postalarda belirtildiği gibi kullanabilirsiniz. Düz laravel/İksir dokümanlardan

0

:

Elixir is built on top of Gulp, so to run your Elixir tasks you only need to run the gulp command in your terminal. Adding the --production flag to the command will instruct Elixir to minify your CSS and JavaScript files: 

Run all tasks... gulp 

Run all tasks and minify all CSS and JavaScript... gulp --production 

docs: https://laravel.com/docs/5.3/elixir#running-elixir