skeeks-semenov / yii2-assets-auto-compress

Automatic compilation of js + css + html
https://skeeks.com/
BSD 3-Clause "New" or "Revised" License
157 stars 43 forks source link

Нехватает группировки ассетов или запрет генерации хеша от внешних линков #21

Open wartur opened 7 years ago

wartur commented 7 years ago

У меня есть некий универсальный ассет на все фронтенд страницы... Допустим так

app\assets\FrontendAsset::register($this);

Но на одной из страниц я хочу добавить еще один внешний ассет гуглокарт... (сделал без ассетов)

$this->registerJsFile('https://maps.googleapis.com/maps/api/js?language=ru', ['depends' => 'yii\web\JqueryAsset']);

Там где нет гуглокарт создается комбинированный файл с хешем №1 Там где есть гуглокарты создается тот же самый комбинированный файл с хешем №2

Получается тупняк!!!

Решение кроется здесь:

        $fileName   =  md5( implode(array_keys($files)) . $this->getSettingsHash()) . '.js';
        $publicUrl  = \Yii::getAlias('@web/assets/js-compress/' . $fileName);

Я думаю правильно не создавать хешь для файлов http:// https:// и //, исключить их из генерации хеша, тогда все будет гуд...

До исправления проблемы судя по всему должен работать костыль с document.write

Автор... еще раз спасибо за отличное дополнение... очень ждем фикса - он очень простой...