Антон Антон, смотрите каждый компонент имеет примерно структуру
index.blade.php
index.js // сюда испортятся все скрипты и css компонента
assets
Далее когда на странице нужно использовать компонент я его естественно иклужу в темплейт страницы и импортирую его index.js в index.js страницы, таким образом на странице есть только те скрипты и стиля которые нужны ее компонентам. Но этот подход имеет одну проблему которую я хотел бы решить. Если из темлейта страницы удалить инклюд компонента, то его скрипты и стиля останутся. Вот что бы не забывать удалять импорт хочу сделать такую фигню. Когда приложение на ходится в dev окружении к корневому тегу компонента добавлять дата атрибут с путём к его темплейту, а его index.js так же получать путь к компоненту и когда скрипт загружен проверять находится ли компонент на странице, если его нету, то кидать ошибку, что подключен скрипт не используемого компонента
Andrey Suha, стили и js можно либо инлайнить, либо инклюдить прямо в коде компонента. При этом можно сделать соответствующий мини-компонент из тегов link href="..." и script src="..." , в который передавать текущий путь для подключения соответствующих стилей и скриптов. Но вообще мне думается, что это уже выстрелы из пушки по воробьям и не такая уж будет экономия.
Антон Антон, Все собирается веб паком, так что инлайном не получится. Отдельно для каждого компоннента подключать link и скрипт тоже не вариант, так как могут буть компоненты которые выводятся циклом и совтветсвенно и соотвественно подключение стилей и скриптов будет дублироваться. На счет экономии, стилей действительно не много, но вот js может тянуть какую-то либу которая не нужна если компонента его нету на странице, да и планируется что приложение будет расти. Так что насчет экономии я бы тоже поспорил))
Andrey Suha, тогда делайте уже spa и пусть вебпак все на чанки сам делит с асинхронной загрузкой. А ларавел пусть бэкэндом будет. Или большие зависимости типа момента или хайлайта грузить с cdn
Антон Антон, возможно это было бы лучше. Но есть требование не spa и наверное можно было задуматься об ssr, но уже нету времени это переделывать)) Короче как обычно))