Squoosh dosyası ama Düğüm kitaplığı olarak kullanılıyor.
Deneysel bir düğüm kitaplığı olan libSquoosh'u tanıtmaktan memnuniyet duyuyoruz. Squoosh CLI'ı bu kitaplıkta oluşturulmuştur. Squoosh KSA'sı için gereken tüm özellikleri JavaScript deyimsel arayüze sahip olan bu kütüphanede bulabilirsiniz.
Squoosh.app, görselleri sizin için tarayıcıda sıkıştıran bir PWA'dır. Birçok eski ve yeni resim biçimini destekler ve bunları WebAssembly aracılığıyla tarayıcıdaki istemci tarafında işler. Yani, resimleriniz herhangi bir yerdeki sunucuya gönderilmek yerine güvenli bir şekilde kendi bilgisayarınızda kalır ve Squoosh çevrimdışıyken bile çalışır.
Chrome DevSummit 2020'de, Squoosh v2'yi duyurduk. Squoosh CLI ile birlikte, Node ve WebAssembly kullanarak Squoosh'un tüm codec'lerini komut satırına entegre ettik. Bu, tek bir komutla klasörleri bir bütün olarak sıkıştırmanıza ve codec parametrelerini sizin yerinize seçmesine izin vermek için KSA'lardan yararlanmanıza olanak tanır.
KSA çok sayıda otomasyon sağlar. Bu nedenle geliştiricilerin, Squoosh KSA'sını kabuk üzerinden programlı bir şekilde çağırmak yerine, daha deyimsel bir arayüz istemeye başlaması doğaldır. Anton (GitHub'da @atjn), göreve gelip Squoosh KSA kodunu iki bölüme ayırdı: Komut satırı arayüz kodu ve temel işlev.
import { ImagePool } from "@squoosh/lib";
// libSquoosh uses a worker-pool under the hood
// to parallelize all image processing.
const imagePool = new ImagePool();
// Accepts both file paths and Buffers/TypedArrays.
const image = imagePool.ingestImage("./squoosh.jpeg");
// Optional.
// await image.preprocess({
// resize: {
// enabled: true,
// width: 128,
// },
// });
await image.encode({
// All codecs are initialized with default values
// that can be individually overwritten.
mozjpeg: {
quality: 10,
},
avif: {
cqLevel: 10,
},
jxl: {},
});
const { extension, binary } = await image.encodedWith.mozjpeg;
await fs.writeFile(`output.${extension}`, binary);
// ... same for other encoders ...
await imagePool.close();
Amacımız, resim sıkıştırmayı araç yazarları için daha erişilebilir hale getirmektir. Resimlerinizin web için uygun şekilde optimize edildiğinden emin olmak için Webpack, Rollup ve diğer geliştirme araçlarıyla entegrasyonu sağlamayı umuyoruz.
büyük bir "teşekkür ederim" demek istiyorum O da Squoosh'a yardım etmesi için Anton'a teşekkür etmek istiyorum.
Squoosh KSA ve libSquoosh için daha erken. Uygulamak istediğimiz daha birçok fikrimiz ve planımız var. Bu arada libSquoosh'u deneyin. Bununla birlikte, bunun erken ve deneysel bir sürüm olduğunu ve bazı hatalarla karşılaşma olasılığınızın yüksek olduğunu unutmayın. Bu tür sorulardan birini bulursanız veya sorularınız olursa lütfen bir sorun açın.
Squoosh'a katkıda bulunmak, örneğin libSquoosh ile ilgili çok az miktarda belgeye katkıda bulunmak veya uygulamanın diğer kısımlarında yardımcı olmak istiyorsanız başlamanıza yardımcı olacak bir mentorluk programı başlatıyoruz. Daha fazla bilgi edinmek istiyorsanız izleme sorunumuza göz atın.