Альтернатива Webpack Encore в Symfony 4, которая не использует node.js

Я использую Symfony с начала эры 3.x и собираюсь создавать новые сайты на 4.x. На первый взгляд это кажется нормальным (просто взглянув на демонстрационный сайт), однако мне не нравится идея выхода на бис webpack.

Когда я установил демоверсию, у нее возникли проблемы, так как ссылки облажались из-за подпапки, в которой находится проект. Я обнаружил, что это связано с тем, что мне нужно обновить настройки в webpack на бис, однако я не могу развернуть изменения, поскольку у меня нет node.js, я запускаю apache.

Большинство хостингов cpannel в настоящее время не поддерживают node.js, поэтому полагаться на node.js кажется глупым! Я знаю, что могу выполнить развертывание на локальном сервере, а затем просто отправить развернутую версию на онлайн-сервер, но это может просто вызвать проблемы, я хочу выполнять всю разработку в среде, аналогичной производственной среде.

Из-за этого я ищу варианты в Symfony 4 для управления активами, которые не нуждаются в другой серверной среде, такой как node.js (или даже yarn). Раньше я использовал ассетик, но его поддержка в Symfony 4 была прекращена. Я хочу что-то, что легко настроить и использовать.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
1 421
1

Ответы 1

Вы все равно можете использовать ассетики, если вам не нравится node.js (что понятно).

Из документа Symfony:

Assetic is a pure PHP library that helps to process & optimize your assets (similar to Encore). Even though we recommend using Encore, Assetic still works great

Ссылка для ссылки: https://symfony.com/doc/current/frontend.html

Недостатком является то, что вы не можете быть уверены, будет ли он по-прежнему работать со следующими крупными обновлениями SF, я согласен, но есть вероятность, что в будущем появятся новые решения, поскольку вы не единственный, кто жалуется на это.


Чтобы продолжить ваши комментарии, с использованием раздела конфигурации assets, чтобы он мог извлекать файлы куда угодно, я думал о чем-то вроде (с соответствующими правами, предоставленными папкам):

assetic:
/* ... */
    read_from:        %kernel.root_dir%/../build
    write_to:         %kernel.root_dir%/../build
/* ... */
    assets:
        common:
            inputs:
                - %kernel.root_dir%/../assets/js/your_file1.js
                - %kernel.root_dir%/../assets/js/your_file2.js
        isolatedFileExample:
            inputs:
                - %kernel.root_dir%/../assets/js/your_file3.js

Хотя не тестировал, держите нас в курсе ваших тестов. Может быть интересно.

Я не заметил этот абзац, но когда вы переходите к монтажной документации (для версии 4.0 - symfony.com/doc/current/frontend/assetic.html), он просто говорит, что рекомендует не использовать его. Я посмотрю, будет ли ассетик работать в 4.x, но я не думаю, что он будет настроен на использование новой структуры каталогов (активы и т. д.). Я также не решаюсь реализовать его, так как он может перестать работать с любым обновлением.

MicWit 16.05.2018 16:52

Еще одно место, где нужно следить за этим, - github.com/symfony/assetic-bundle/issues/453.

MicWit 16.05.2018 17:08

Вы можете настроить исходный и целевой каталог (см. symfony.com/doc/3.3/reference/configuration/assetic.html). Приятное дополнение @MicWit

Aurelien 16.05.2018 17:08

Если вы имеете в виду read_from и write_to, я почти уверен, что read_from должен находиться в общедоступном (бывшем веб) каталоге. Я посмотрю, смогу ли я заставить его работать с каталогом ресурсов завтра.

MicWit 16.05.2018 17:17

Добавил немного информации об этом в свой ответ. Это интересное дело.

Aurelien 16.05.2018 18:54

Хорошо, похоже, что ассетик даже не будет устанавливаться в Symfony 4.x, поскольку он не удовлетворяет требованиям композитора. Это потребует обновления сборочного пакета на github, чтобы он установился, не говоря уже о работе. Версии 4.x необходимо добавить как совместимые для композитора.

MicWit 17.05.2018 06:52

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

Aurelien 18.05.2018 16:38

Согласны, и даже если они не хотят поддерживать его, по крайней мере, просто сделайте его совместимым с 4.x

MicWit 19.05.2018 00:43

Другие вопросы по теме