Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Otimizar imagens usando o o jpegtran e o pngcrush

Olá, estou tendo dificuldades para instalar o jpegtran e o pngcrush. Eu tentei instalar as ferramentas pelo npm usando os comandos:

npm install -g jpegtran

e

npm install -g pngcrush

no terminal. Os pacotes até foram instalados mas eu tentei utilizar rodando os comandos que vocês passaram na aula:

jpegtran -progressive -optimize site/assets/img/aluno-adriano.jpeg > dist/assets/img/aluno-adriano.jpeg
pngcrush site/assets/img/icon-diferencial-1.png dist/assets/img/icon-diferencial-1.png

mas deu o seguinte erro:

command not found: jpegtran

Sabem me dizer o porque não funcionou?

O svgo eu até consegui instalar e utilizar, mas eu queria rodar pra todas as pastas e subpastas de uma vez só e imprimir no console quanto foi economizado. É possível?

2 respostas
solução!

Fala Guilherme tudo bom?

Para conseguir usar o jpegtran como ferramenta de linha de comando, é necessário instalar esse pacote do node também: https://github.com/imagemin/jpegtran-bin

Para conseguir rodar o svgo em subpastas, você pode utilizar svgo pastadossvgs/* ./distsvg/ assim ele irá pegar todos os arquivos de subpastas e jogar todos na raíz da pasta distsvg.

É interessante utilizar os processos do Gulp para automatizar tudo, pois utilizando os scripts do npm na mão diversas configurações precisam ser feitas como, verificar se uma pasta existe ou não entre outras coisas (você pode ter alguns problemas com relação a isso utilizando o jpegtran).

Olha eu nem sabia que alguém tinha publicado no npm esses caras hehehe. O jpegtran e o pngcrush são ferramentas nativas (se estiver no windows, é um .exe simples apenas). Eu me referia a essas versões quando coloquei os comandos lá.

Dá pra baixar direto no site:

http://jpegclub.org/jpegtran/

https://pmt.sourceforge.io/pngcrush/

(eu, no Mac, instalado os binários pelo brew pra facilitar, mas seria a mesma coisa)