Ошибка при сжатии CSS-ов

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Ошибка при сжатии CSS-ов

Сообщение lavrik »

Всем привет!
JS сжимается нормально, CSS нет.

Как я делаю:
1) Скачал compiler.jar и yuicompressor.jar (отдельными файлами) и скопировал в корень проекта.
2) Создал minify.php и кинул его в frontend/assets/minify.php:

Код: Выделить всё

<?php
/**
 * Configuration file for the "yii asset" console command.
 */

// In the console environment, some path aliases may not exist. Please define these:
Yii::setAlias('@webroot', '@frontend/web');
Yii::setAlias('@web', '/');

return [

    // Adjust command/callback for JavaScript files compressing:
    'jsCompressor' => 'java -jar compiler.jar --js {from} --js_output_file {to}',
    
    // Adjust command/callback for CSS files compressing:
    'cssCompressor' => 'java -jar yuicompressor.jar --type css {from} -o {to}',
    
    // The list of asset bundles to compress:
    'bundles' => [
        'frontend\assets\AppAsset',
        //'yii\web\YiiAsset',
        //'yii\web\JqueryAsset',
    ],
    
    // Asset bundle for compression output:
    'targets' => [
        'all' => [
            'class' => 'yii\web\AssetBundle',
            'basePath' => '@frontend/web/assets',
            'baseUrl' => '@web/assets',
            'js' => 'all-{hash}.js',
            'css' => 'all-{hash}.css',
        ],
    ],
    
    // Asset manager configuration:
    'assetManager' => [
        'basePath' => '@frontend/web/assets',
        'baseUrl' => '',
    ],
];
3) Дергаю: php yii asset/compress frontend/assets/minify.php frontend/assets/app_min.php.
JS сжался (с варнингами, но пока плевать). А вот при сжатии CSS получаю ошибку:

Код: Выделить всё

0 error(s), 8 warning(s)
  JavaScript files compressed into 'C:\WWW\domains\zen-comp/frontend/web/assets/all-temp.js'.
  Compressing CSS files...
java.io.FileNotFoundException: WWWdomainszen-comp\frontend\web\assets\all-temp.css:\WWW\domains\zen-comp\frontend\web\assets\all-temp.css.tmp (Синтаксическая ошибка в имени файла, имени папки или метке тома)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at com.yahoo.platform.yui.compressor.YUICompressor.main(YUICompressor.java:208)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21)
Error: Unable to compress CSS files into 'C:\WWW\domains\zen-comp/frontend/web/assets/all-temp.css'.
В чем дело?
Может мне кто нибудь скинет свой, рабочий yuicompressor.jar (кажется ошибка из него...)
lavrik-v.ru - моя напоминалка по php.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Ошибка при сжатии CSS-ов

Сообщение zelenin »

ну так и не надо пользоваться yuicompressor. Все юзают gulp, grunt, webpack итд. Не будьте маргиналом.
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Ошибка при сжатии CSS-ов

Сообщение Евгений Емельянов »

Дело в путях.

Код: Выделить всё

Yii::setAlias('@webroot', '@frontend/web');
замените на что-нибудь типа такого:

Код: Выделить всё

Yii::setAlias('@webroot',  '/domains/project/web');
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Ошибка при сжатии CSS-ов

Сообщение lavrik »

Евгений Емельянов писал(а):Дело в путях.

Код: Выделить всё

Yii::setAlias('@webroot', '@frontend/web'); 
замените на что-нибудь типа такого:

Код: Выделить всё

Yii::setAlias('@webroot',  '/domains/project/web'); 
Нет, не помогает.
Стоит в этой строчке указать несуществующий путь, то не сжимается даже JS.
А так хоть js жмется и то хорошо....

Может скинешь свой yuicompressor.jar ?
lavrik-v.ru - моя напоминалка по php.
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Ошибка при сжатии CSS-ов

Сообщение Евгений Емельянов »

Может скинешь свой yuicompressor.jar ?
зачем? хотя сообщите куда - скину.
Но проблема в путях, это же очевидно: FileNotFoundException: WWWdomainszen-comp\frontend\web\assets\ - где выделил, там не хватает слэшей. Сам бился с этой проблемой. Решение выложил выше, просто у Вас может быть другой путь. У меня domains в корне диска.
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Ошибка при сжатии CSS-ов

Сообщение lavrik »

Евгений Емельянов писал(а):
Может скинешь свой yuicompressor.jar ?
зачем? хотя сообщите куда - скину.
Но проблема в путях, это же очевидно: FileNotFoundException: WWWdomainszen-comp\frontend\web\assets\ - где выделил, там не хватает слэшей. Сам бился с этой проблемой. Решение выложил выше, просто у Вас может быть другой путь. У меня domains в корне диска.
Я пробовал туда вписывать все, всевозможный варианты, и относительные и абсолютные, а правильные и неправильные.
Одно скажу точно:
На строчку WWWdomainszen-comp\frontend\web\assets это вообще не влияло...
Темболее что для JS файлов она отработала нормально...


Скинь пжлст yuicompressor.jar на staltip@mail.ru.
Спасибо))
lavrik-v.ru - моя напоминалка по php.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Ошибка при сжатии CSS-ов

Сообщение zelenin »

lavrik писал(а):На строчку WWWdomainszen-comp\frontend\web\assets это вообще не влияло...
есть у вас такая директория?
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Ошибка при сжатии CSS-ов

Сообщение Евгений Емельянов »

Скинь пжлст yuicompressor.jar
Скинул.
Если интересно, вот как выглядела моя ситуация:

Код: Выделить всё

0 error(s), 30 warning(s)
  JavaScript files compressed into 'W:\domains\project/web/js/all-temp.js'.
  Compressing CSS files...
java.io.FileNotFoundException: domainsproject\web\css\all-temp.css:\domains\project\web\css\all-temp.css.tmp (Синтаксическая ошибка в имени файла, имени папки или метке тома)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
        at com.yahoo.platform.yui.compressor.YUICompressor.main(YUICompressor.java:208)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21)
Error: Unable to compress CSS files into 'W:\domains\project/web/css/all-temp.css'.
 
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Ошибка при сжатии CSS-ов

Сообщение lavrik »

действительно, замена на твой yuicompressor.jar не помогла :(

Покажешь свой minify.php?
lavrik-v.ru - моя напоминалка по php.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Ошибка при сжатии CSS-ов

Сообщение zelenin »

lavrik писал(а):действительно, замена на твой yuicompressor.jar не помогла :(

Покажешь свой minify.php?
ты дурачок?)
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Ошибка при сжатии CSS-ов

Сообщение lavrik »

zelenin писал(а):
lavrik писал(а):действительно, замена на твой yuicompressor.jar не помогла :(

Покажешь свой minify.php?
ты дурачок?)
Там что-то секретное?
Какой-то ты параноик....
lavrik-v.ru - моя напоминалка по php.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Ошибка при сжатии CSS-ов

Сообщение zelenin »

lavrik писал(а):
zelenin писал(а):
lavrik писал(а):действительно, замена на твой yuicompressor.jar не помогла :(

Покажешь свой minify.php?
ты дурачок?)
Там что-то секретное?
Какой-то ты параноик....
я-то здесь при чем? я тебя спросил если папка у тебя? а ты продолжаешь в другом направлении копать.
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Ошибка при сжатии CSS-ов

Сообщение Евгений Емельянов »

ты дурачок?)
Зачем же так жестко?
действительно, замена на твой yuicompressor.jar не помогла :(
Я это и говорил
зачем? хотя сообщите куда - скину.
Повторю - дело в путях.
И показ моего minify.php не поможет, поверьте наслово..
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Ошибка при сжатии CSS-ов

Сообщение zelenin »

Евгений Емельянов писал(а):
ты дурачок?)
Зачем же так жестко?
действительно, замена на твой yuicompressor.jar не помогла :(
Я это и говорил
зачем? хотя сообщите куда - скину.
Повторю - дело в путях.
И показ моего minify.php не поможет, поверьте наслово..
наоборот, нежно спросил
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Ошибка при сжатии CSS-ов

Сообщение Евгений Емельянов »

наоборот, нежно спросил
:lol:
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Ошибка при сжатии CSS-ов

Сообщение lavrik »

методом перебора всетаки запустил... проблема была в

Код: Выделить всё

    'targets' => [
        'all' => [
            'class' => 'yii\web\AssetBundle',
          [b]  'basePath' => 'frontend/web/assets',[/b]
            'baseUrl' => '@web/assets',
            'js' => 'all-{hash}.js',
            'css' => 'all-{hash}.css',
        ],
    ],
но теперь возникла другая проблема. Ссылки на изображения в CSS-ах побились.
Если в исходном CSS-е ссылка например
background:#fff url(../images/bg.gif)
То после сжатия выходит
background:#fff url(../../../C:/WWW/domains/zen-comp/frontend/web/template/skin/frontend/default/theme146k/images/bg.gif)
lavrik-v.ru - моя напоминалка по php.
Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Ошибка при сжатии CSS-ов

Сообщение Евгений Емельянов »

где-то здесь уже встречал такую тему - поищите..
Ответить