Как правильно собирать Web-проект?

Я хочу научиться правильно собирать крупные веб-проекты, которые состоят из большого количества компонентов, и включают PHP, JS, CSS... Хотелось бы пользоваться менеджерами пакетов, для PHP - Composer, для JS/CSS - Bower. Хочется делать автоматическую компиляцию LESS/SASS в CSS, сборку итп. Phing - пожалуй тоже было бы приятно использовать.
Я почитал много теоретических статей и литературы о том как надо это правильно в современном мире. К сожалению, статьи обычно или полностью сосредоточены на PHP или полностью на JS/CSS, но в моих проектах и то и другое важно. Чтобы увидеть как это делается на практике, я пошел смотреть устройство популярных проектов на GitHub (в основном CMS, интернет магазины итп). Я с удивлением обнаружил что на практике, максимум что используется в этих проектах, так это Composer. При этом весь проект находится в web-root, и там вперемешку идут JS и PHP. А ведь в учебниках учат что PHP должен быть за пределами директории public_html!
Подскажите пожалуйста какие нибудь проекты в которых все это делается "правильно". Или на практике никто не делает проекты "правильно" и это лишь теоретические рекомендации далекие от реальной жизни? Или я что то недопонимаю.
  • Вопрос задан
  • 2350 просмотров
Пригласить эксперта
Ответы на вопрос 3
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Ох, grunt и bower (While Bower is maintained, we recommend yarn and webpack for new front-end projects!) сейчас уже никто не использует. gulp еще кое-где живет, но далеко не везде. Фронтендовые пакеты ставятся npm, сборка — webpack.

Интеграция с бэкендовой сборкой сводится обычно к запуску npm run build в нужной директории (любой сборщик умеет запускать произвольную внешнюю команду).

P.S. Да, webpack это больно, но сейчас гораздо проще найти готовый конфиг и минимально допилить под себя. Еще yeoman помогает.
Ответ написан
iIIuminate
@iIIuminate
Full stack web developer
Поищи уроки Laravel + Vue.js, буквально начало создания проекта, там и увидишь, только там вместо public_html будет src. Npm, webpack тоже присутствуют.
Ответ написан
Комментировать
@Mixa
Чет я не понял про php за пределами public_html. Думаю, имелся в виду интерпретатор, а не исполняемые файлы. В самом веб-проекте логику и структуру вы задаете сами, и все лежит вперемешку (хотя обычно под css- и js-файлы создают отдельные папки), и никаких проблем это не вызывает. Мне кажется, вы слишком заморачиваетесь, при этом мало практикуясь )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы