Saya mengetahui sprocket untuk menggabungkan file javascript, tetapi belum mencobanya. Apa sajakah pilihan lain dan bagaimana mereka menumpuk?
optimization
javascript
css
Cebjyre
sumber
sumber
Jawaban:
Saya menulis handler untuk Asp.Net yang menggunakan YUI untuk mengompres, menyatukan, dan cache output.
Inilah sumbernya: http://gist.github.com/130913
sumber
Saya sudah membahas masalah ini dalam pertanyaan lain
Kalau dipikir-pikir, saya seharusnya bertanya di Webmaster bukan situs Programmer.
Anda memiliki 3 opsi:
Opsi 1 (menggunakan ekstensi CakePHP):
Unduh dan pasang AssetPacker ke situs Anda (yang juga memerlukan jsmin dan CSSTidy). Ubah beberapa baris sumber Anda yang menyertakan file js. Cuci-> Bilas-> Ulangi. Voila, sisanya dilakukan secara otomatis untuk Anda.
Jika Anda menggunakan beberapa kerangka kerja lain, kemungkinan besar, ada alat yang akan mencapai ini untuk Anda. Ini adalah persyaratan yang cukup umum di dunia webdev.
Opsi 2 (menggunakan mod Apache):
Lihatlah mod Google Pagespeed untuk Apache . Itu melakukan semua yang Anda jelaskan dan banyak lagi.
Pastikan untuk memonitor sumber daya server produksi Anda. Beberapa orang telah melihat masalah di mana ini meningkatkan beban di server mereka dengan cara yang buruk. Saya tidak positif tetapi mungkin memerlukan strategi konten statis yang cukup untuk menjadi pilihan yang efektif.
Opsi 3:
Jika Anda benar-benar ingin, Anda dapat membuat beberapa keajaiban PHP yang menggabungkan sisi server file JS dan menggabungkan semua rel tautan menjadi satu tetapi ... Itulah yang sebenarnya dilakukan oleh kedua strategi tersebut.
Secara pribadi, saya akan sangat menyarankan terhadap opsi ini.
Sejauh yang saya tahu Sprockets menggabungkan file JS sama dengan AssetPacker, itu hanya diimplementasikan sebagai Ruby Gem. Yang tidak dilakukannya adalah mengecilkan kode js. Jadi, jika Anda menggunakannya, mungkin ide yang baik untuk mengambil permata jsmin juga. Untuk informasi tentang cara menggunakan Sprockets + JSMin di CakePHP lihat ini .
Saya tahu saya memberi penekanan pada CakePHP tapi ... Saya berasumsi bahwa, jika sebuah plugin dapat disesuaikan dengan CakePHP, itu seharusnya sepele untuk mengadaptasinya ke kerangka kerja yang berbeda juga.
sumber
Pencarian google cepat menemukan ini untuk menggabungkan file CSS: http://www.tothepc.com/archives/combine-merge-multiple-css-files/
sumber
Apakah Anda yakin ingin menggabungkannya? Jika Anda menggunakan perpustakaan umum, Anda dapat memanfaatkan CDN untuk mengirimkan javascripts Anda. Anda kemudian dapat mengambil keuntungan dari caching browser (dengan asumsi situs lain menggunakan CDN yang sama) dan pengiriman yang didistribusikan. Microsoft dan Google masing-masing memiliki solusi (saya juga tidak jujur menggunakan, tapi saya pasti akan memulai) dan mungkin ada yang lain.
sumber
Untuk proyek ASP.NET, saya telah menjadikannya bagian dari proses pembangunan saya berdasarkan instruksi oleh Karl Seguin .
Karl menggambarkannya dengan paling baik di blog-nya, tetapi versi singkatnya adalah membuat aplikasi pembungkus konsol YUICompresor. Kemudian Anda dapat mengatur tugas pasca-pembangunan untuk memanggil aplikasi konsol tersebut terhadap lokasi file JS di situs Anda.
sumber
Jika aplikasi web Anda menggunakan PHP, Anda harus mempertimbangkan untuk menggunakan minify :
sumber
Untuk mengetahui Python ini sebenarnya mungkin berguna. Anda dapat mempelajari Python dengan cukup cepat. Saya mulai sekitar 2 minggu yang lalu dan aplikasi pertama saya (yang masih belum selesai) akan melakukan hal yang sama persis seperti yang Anda inginkan. Seperti kompiler DotLess, ia akan memiliki fungsi menonton yang akan melihat file atau direktori dan jika mereka mengubahnya akan menghasilkan file baru.
Python juga bagus untuk tugas-tugas pemeliharaan lainnya dan saya membaca banyak administrator sistem ingin menggunakannya.
sumber
Saya membuat Minifpy : alat yang ditulis dengan Python3 (kompatibel dengan Mac OS, Windows dan Linux) untuk menggabungkan dan memperkecil file JS dan CSS dengan menggunakan Python.
Minifpy menggunakan file konfigurasi JSON yang sangat mudah untuk menentukan file mana yang harus digabung, diperkecil atau tidak:
Anda juga dapat menggunakan alat ini di CLI.
Minifpy mendeteksi modifikasi apa pun pada file JS / CSS dan menggabungkan / memperkecilnya secara otomatis (berguna untuk pengembangan).
sumber