@343dev/optimizt

Optimizt es una herramienta de línea de comandos que ayuda a preparar imágenes para la web.
Puede comprimir PNG, JPEG, GIF y SVG con pérdida o sin pérdida, y crear versiones AVIF y WebP para imágenes rasterizadas.
Justificación
Como desarrolladores frontend, tenemos que cuidar las imágenes: comprimir PNG y JPEG, eliminar partes inútiles de SVG, crear AVIF y WebP para navegadores modernos, y así sucesivamente. Un día, nos cansamos de usar un montón de aplicaciones para eso, y creamos una herramienta que hace todo lo que queremos.
Uso
Instalar:
npm install -g @343dev/optimizt¡Optimiza!
optimizt path/to/picture.jpgOpciones de Línea de Comandos
--avif— crear versiones AVIF de las imágenes.--webp— crear versiones WebP de las imágenes.-f, --force— recrear versiones AVIF y WebP aunque ya existan.-l, --lossless— optimizar sin pérdida en lugar de con pérdida.-v, --verbose— mostrar salida detallada (p. ej. archivos omitidos).-c, --config— usar un archivo de configuración personalizado en lugar del predeterminado.-o, --output— escribir resultados en el directorio especificado.-p, --prefix— añadir prefijo a los nombres de archivos optimizados.-s, --suffix— añadir sufijo a los nombres de archivos optimizados.-V, --version— mostrar la versión de la herramienta.-h, --help— mostrar mensaje de ayuda.
Ejemplos de Uso
# optimize a single image
optimizt path/to/picture.jpgoptimize multiple images losslessly
optimizt --lossless path/to/picture.jpg path/to/another/picture.pngrecursively create AVIF and WebP versions for all images in a directory
optimizt --avif --webp path/to/directoryrecursively optimize JPEG files in the current directory
find . -iname \*.jpg -exec optimizt {} +Diferencias entre con pérdida y sin pérdida
Con pérdida (predeterminado)
Ofrece el mejor equilibrio entre la reducción del tamaño del archivo y la pérdida mínima de calidad visual.
Sin pérdida (bandera --lossless)
- AVIF/WebP: Utiliza compresión sin pérdida.
- PNG/JPEG/GIF: Maximiza la calidad de la imagen a costa de tamaños de archivo más grandes.
- SVG: Las configuraciones son idénticas en ambos modos.
Configuración
El procesamiento de imágenes utiliza:
> [!NOTA]En modo sin pérdida para JPEG, se usa Guetzli. La optimización repetida puede degradar la calidad visual.
Las configuraciones predeterminadas están definidas en .optimiztrc.cjs, que incluye todos los parámetros soportados. Deshabilite cualquier parámetro configurándolo como false.
Al usar --config path/to/.optimiztrc.cjs, se usará el archivo de configuración especificado. Si no se proporciona --config, Optimizt busca recursivamente desde el directorio actual hacia arriba el archivo .optimiztrc.cjs. Si no se encuentra ninguno, se aplican los valores predeterminados.
Solución de problemas
Errores como “spawn guetzli ENOENT”.
Asegúrese de que la opción npm ignore-scripts esté deshabilitada. Detalles: funbox/optimizt/issues/9.
Docker
Imagen preconstruida
# pull latest
docker pull 343dev/optimiztpull specific version
docker pull 343dev/optimizt:9.0.2Compilación Manual
# clone repository
git clone https://github.com/343dev/optimizt.git
cd optimiztbuild image
docker build --tag 343dev/optimizt .Alternativamente:
# build directly from GitHub
ignores .dockerignore (see: https://github.com/docker/cli/issues/2827)
docker build --tag 343dev/optimizt https://github.com/343dev/optimizt.gitEjecutar Contenedor
# mount current directory to /src in the container
docker run --rm --volume $(pwd):/src 343dev/optimizt --webp ./image.pngIntegraciones
Optimizt funciona perfectamente con:
Artículos
- anuwong.com — Comprime archivos antes de subirlos, ahorra toneladas de GB. 🇹🇭
- Linux Format, Número 277 (julio 2021) — Optimizt es ideal para reducir la huella en disco de las imágenes sin ninguna reducción en la calidad.
Créditos
La imagen linda para el proyecto fue hecha por Igor Garybaldi.
--- Tranlated By Open Ai Tx | Last indexed: 2026-04-07 ---