assets - разъединить js, css файлы

StalkerClasses

Новичок
PHP:
<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace app\assets;

use Yii;
use yii\web\AssetBundle;

 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
      
        'css/jquery.fancybox-1.3.4.css',
    ];
    public $js = [
        'js/jquery.form.min.js',
        'js/masonry.pkgd.min.js',
        'js/popups.js',
        'js/select2.full.min.js',
        'js/jquery.preloader.js',
        'js/jquery.mousewheel.js',
        'js/jquery.fancybox-1.3.4.js',
    ];
    public $depends = [
        'yii\web\YiiAsset',
    ];
}
Код:
<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>
На выходе я получаю в документе
HTML:
<script src="/assets/desktop-2496998145a491d40aa.js"></script></body>
</html>
Подскажите как разъединить эти файлы или как сбросить кэш?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
прочесть документацию?
мда, о чем это я
 

StalkerClasses

Новичок
прочесть документацию?
мда, о чем это я
Я уже перепроовал все из дкументации.
У меня все равно выводится объеденненный js файл - а мне это не надо.
Я также в ручную удалял md5.js файл в папке assets в надежде что соберется новый, но ничего не произошло...
 

StalkerClasses

Новичок
Я уже перепробовал все из документации...
В т.ч. настройки в web.php - но файлы все равно js-файлы не разъеденяются и не обновляются...
 

Squats

Новичок
И зачем бы это могло понадобиться?
Сбросить кеш легко, добавив параметр к файлу:

/assets/desktop-2496998145a491d40aa.j?1

Если и вовсе не нужно кешировать, то собственно нужно указать верные заголовки браузеру, чтобы он не клал в кеш.
Еще делают:
/assets/desktop-2496998145a491d40aa.j?<?=time()?>

А вот на счет разъединенные файлы для подключения - это дорого.

А вообще, там, где-то должно быть типо версии js.
 

StalkerClasses

Новичок
И зачем бы это могло понадобиться?
Сбросить кеш легко, добавив параметр к файлу:

/assets/desktop-2496998145a491d40aa.j?1

Если и вовсе не нужно кешировать, то собственно нужно указать верные заголовки браузеру, чтобы он не клал в кеш.
Еще делают:
/assets/desktop-2496998145a491d40aa.j?<?=time()?>

А вот на счет разъединенные файлы для подключения - это дорого.

А вообще, там, где-то должно быть типо версии js.
Э...
А где в вашем ответе решение проблемы?
Добавить time() это костыль хуже не придуемаешь.

Моя идея на время разрабобтки отключить соединение файлов.
Вообще тот, кто придумал соединять файлы css, js - видимо больше ничего не мог придумать.

Даже в движке этого форума все разъединено
Код:
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script>window.jQuery || document.write('<script src="/talk/js/vendor/jquery/jquery-3.3.1.min.js?_v=c16f8645"><\/script>')</script>
    <script src="/talk/js/vendor/vendor-compiled.js?_v=c16f8645"></script>
    <script src="/talk/js/xf/core-compiled.js?_v=c16f8645"></script>
    <script src="/talk/js/xf/inline_mod.min.js?_v=c16f8645"></script>
<script src="/talk/js/xf/lightbox-compiled.js?_v=c16f8645"></script>
<script src="/talk/js/xf/code_block-compiled.js?_v=c16f8645"></script>
<script src="/talk/js/xf/message.min.js?_v=c16f8645"></script>
<script src="/talk/js/xf/editor-compiled.js?_v=c16f8645"></script>
<script src="/talk/js/xf/attachment_manager-compiled.js?_v=c16f8645"></script>

    <script>

Вопрос просто что нужно в конфиге прописать что бы файлы были разъеденены.
 

Squats

Новичок
Добавить time() это костыль хуже не придуемаешь.
Это на вскидку, чтобы постоянно не менять параметр и не лепить заголовки для отключения кеша.
Быстрый так сказать лайфхак.

Вообще тот, кто придумал соединять файлы css, js - видимо больше ничего не мог придумать.
Если на то пошло, фреймворки придумали для ленивых и тех, кто не учит архитектуру, а вечно меняет и поливается грязью.
А потом бежит на форум и спрашивает, а как же тут так сделать то, в этом долбаном фреймворке


А вот объединять файлы это очень удобно и быстро, 1 запрос, за место 10,как вы показали на этом форуме. этот форум лепили юные падаваны, в лохматых годах.
Никто ничего не собирается переделывать. Забудь.
А вот то, что у юи нет контроля версий js это конечно совсем аутизм, если честно.
 

StalkerClasses

Новичок

Мазафака - дайте уже код где что нужно прописать что бы js-файлы разъединились...
И я мог поправить site.js
 

StalkerClasses

Новичок
Это на вскидку, чтобы постоянно не менять параметр и не лепить заголовки для отключения кеша.
Быстрый так сказать лайфхак.



Если на то пошло, фреймворки придумали для ленивых и тех, кто не учит архитектуру, а вечно меняет и поливается грязью.
А потом бежит на форум и спрашивает, а как же тут так сделать то, в этом долбаном фреймворке


А вот объединять файлы это очень удобно и быстро, 1 запрос, за место 10,как вы показали на этом форуме. этот форум лепили юные падаваны, в лохматых годах.
Никто ничего не собирается переделывать. Забудь.
А вот то, что у юи нет контроля версий js это конечно совсем аутизм, если честно.
Надо заметить что юные падаваны запендосили офигенный форум.
Каждый раз как пишу сообщение - ввосторге от интерфейса, что не могу сказать о многих приложениях которые лепили не юные подаваны, и я про тотже fb.
 

AmdY

Пью пиво
Команда форума
Какой офигенный форум?

P.S. Хотя я уже давно перестал пытаться понять полет мысли ТС.
С этим понятно, меня совет Squats смущает. desktop-2496998145a491d40aa - не знаю yii, но предполагаю что имя состоит из енвайромента и хэша от контента файла, который сам меняется при изменениях. Никакой борьбы с кэшем не нужно, она из коробки.
 

StalkerClasses

Новичок
С этим понятно, меня совет Squats смущает. desktop-2496998145a491d40aa - не знаю yii, но предполагаю что имя состоит из енвайромента и хэша от контента файла, который сам меняется при изменениях. Никакой борьбы с кэшем не нужно, она из коробки.
Я уже пробовал удалить файл desktop-2496998145a491d40aa
Он не генерируется по новой. В нем собран весь список js-файлов.
 

StalkerClasses

Новичок
У меня есть оносновй сайт, есть сайт dev....
На основном сайте я вижу
Код:
<script src="/assets/desktop-2496998145a491d40abc68a5e78d676a.js"></script></body>
</html>
На сайте для разработки я вижу:

Код:
<script src="/assets/1aaa620b/jquery.js"></script>
<script src="/assets/75d328d7/yii.js"></script>
<script src="/js/jquery.form.min.js"></script>
<script src="/js/toastr.min.js"></script>
<script src="/js/masonry.pkgd.min.js"></script>
<script src="/js/popups.js"></script>
<script src="/js/select2.full.min.js"></script>
<script src="/js/video.min.js"></script>
<script src="/audiojs/audio.js"></script>
<script src="/videojs/Youtube.min.js"></script>
<script src="/videojs/Vimeo.js"></script>
<script src="/js/site.js"></script>
<script src="/js/jquery.preloader.js"></script>
<script src="/js/jquery.mousewheel.js"></script>
<script src="/js/jquery.fancybox-1.3.4.js"></script>
<script src="/assets/75d328d7/yii.validation.js"></script>
<script src="/assets/75d328d7/yii.activeForm.js"></script>
</body>
</html>
Я не пойму какая настройка отвечает за combine?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
А знаешь в чем основная проблема? В том, что фронт должен собираться фронтовыми средствами, жаться, компоноваться, компилиться и так далее. А авторы yii почему-то решили, что это должно проистекать из php. Имеешь что имеешь. Попробуй этих ребят спросить, вряд ли тут кто-то копал yii для такой задачи.
 

StalkerClasses

Новичок
А знаешь в чем основная проблема? В том, что фронт должен собираться фронтовыми средствами, жаться, компоноваться, компилиться и так далее. А авторы yii почему-то решили, что это должно проистекать из php. Имеешь что имеешь. Попробуй этих ребят спросить, вряд ли тут кто-то копал yii для такой задачи.
Я тоже этого не понимаю, если бы от этого был космический прирост чего то, а так только лишний функционал. Поправил ответ контроллера в формате json, работает.
 

StalkerClasses

Новичок
Мне вот всегда было интересно, я не фронт разработчик, но по-моему у них ещё большая жопа чем у Бэк разработчиков? Здесь хотя бы видишь то что нужно, а там иногда смотришь и вообще черт ногу сломит.
 

AmdY

Пью пиво
Команда форума
А знаешь в чем основная проблема? В том, что фронт должен собираться фронтовыми средствами, жаться, компоноваться, компилиться и так далее. А авторы yii почему-то решили, что это должно проистекать из php. Имеешь что имеешь. Попробуй этих ребят спросить, вряд ли тут кто-то копал yii для такой задачи.
Хорошее и правильное решение. Это же конфигуратор, а процессить можно чем угодно. Когда yii писался там ещё bower был и gulp, теперь вебпаки и т.д. Ассет менеджер удобная абстракция на языке близком разработчику. Тем более из пхп иногда надо динамически менять конфиг, погружать css и javascript файлы в зависимости от роли пользователя или его прав, разделов сайта и т.д.

Здесь же проблема в том, что Сталкер как всегда хочет чего-то непонятного. Зачем ему в продакшен моде отключать мерж файлов? Тут даже хорошо, что есть защита от идиота.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
А знаешь в чем основная проблема? В том, что фронт должен собираться фронтовыми средствами, жаться, компоноваться, компилиться и так далее. А авторы yii почему-то решили, что это должно проистекать из php. Имеешь что имеешь. Попробуй этих ребят спросить, вряд ли тут кто-то копал yii для такой задачи.
ну началось, я копал, этому делу сто лет в обед, а зависимости laravel от ноды вы уже не удивляетесь?
почему - а не было тогда докеров и пайплайнов сборки, год разработки архитектуры компонента assets в yii1 посмотрите

я не пойму, вы предлагаете в конфигах проекта по аватару Сталкера разобраться, не видя кода? опубликованные строки - явно не конфиги
1. для dev и prod, внезапно, разные файлы конфигов, как необычно это ни звучит
2. в yii пост-обрабоока assets задается в конфгигах директивами converter и bundles
3. а кто вообще сказал, что сбооку фронта делает yii? может, при запуске контейнера все собирает webpack
 

StalkerClasses

Новичок
ну началось, я копал, этому делу сто лет в обед, а зависимости laravel от ноды вы уже не удивляетесь?
почему - а не было тогда докеров и пайплайнов сборки, год разработки архитектуры компонента assets в yii1 посмотрите

я не пойму, вы предлагаете в конфигах проекта по аватару Сталкера разобраться, не видя кода?
1. для dev и prod, внезапно, разные файлы конфигов, как необычно это ни звучит, а опубликованные строки - явно не конфиги
2. в yii пост-обрабоока assets задается в конфгигах директивами converter и bundles
3. а кто вообще сказал, что сбооку фронта делает yii? может, при запуске контейнера все собирает webpack
Я посмотрел конфигурации двух сайтов, они идентичны. Следовательно я не понимаю что за параметр отвечает за комбайн файлов CSS, js.

Почему мне понадобился прод, потому что сайт дев менялся последний раз в 2017 году. И я хз будет ли вообще js работать после моих манипуляций.

Вот в тайпо3 есть отдельные настройки которые отвечают за Минифу, Комбайн, и за Тиду выводимого html кода. Хотя я противник всех этих трёх ерисией. А здесь я не пойму, что нужно изменить что бы файлы выводились без объединения.
 
Сверху