Como diminuir o Javascript e o CSS com a linha de comando usando a ferramenta minify?

4

Eu não sou tão versado em unix e não posso ter Java, então YUI Compressor não se aplica, mas eu tenho essa conhecida Minify tool , que receberá uma versão reduzida de um arquivo JS / CSS de um URI específico /min/?f=/path/to/file.js.css

Quais comandos unix eu posso usar, usando tal método, para minimizar todos os arquivos js / css na pasta public_html, substituindo todos os arquivos js / css por suas versões reduzidas?

    
por João Pimentel Ferreira 16.12.2015 / 12:30

2 respostas

6

Depois de pesquisar e implementar, dou a resposta aqui por meio de um arquivo bash.

Eu uso os pacotes npm uglifyjs e uglifycss para compactar arquivos JS e CSS, respectivamente. Eu uso o comando find para percorrer esses arquivos. Suponho que os arquivos js e css estejam em uma pasta js/ e css/ , respectivamente.

#minification of JS files
find js/ -type f \
    -name "*.js" ! -name "*.min.*" ! -name "vfs_fonts*" \
    -exec echo {} \; \
    -exec uglifyjs -o {}.min {} \; \
    -exec rm {} \; \
    -exec mv {}.min {} \;

#minification of CSS files
find css/ -type f \
    -name "*.css" ! -name "*.min.*" \
    -exec echo {} \; \
    -exec uglifycss --output {}.min {} \; \
    -exec rm {} \; \
    -exec mv {}.min {} \;

Isso irá minimizar todos os arquivos js e css nos respectivos diretórios js/ e css/ . Se você quiser excluir algumas pastas ou padrões específicos, use a opção ! -name

    
por 24.12.2017 / 14:24
1
sudo apt-get install yui-compressor
yui-compressor finename.css > filename.min.css

Fontes:

por 23.12.2017 / 12:35