Я хотел бы использовать новую версию Webpack на бис, чтобы иметь доступ ко всем новым функциям, которые он предлагает. однако после выполнения шагов в официальное руководство я не могу заставить его работать, и я получаю Unknown "encore_entry_link_tags" function
Что я сделал:
composer require symfony/webpack-encore-bundlenpm install --save-devЯ не уверен, почему это не работает. Любое предложение будет оценено.




Немного покопавшись, я обнаружил, что пропустил некоторые шаги (не упомянутые в руководстве). Может быть, для других это очевидно, но в моем случае это было не так.
Вот все шаги, чтобы это работало:
composer require symfony/webpack-encore-bundlenpm install --save-devnew \Symfony\WebpackEncoreBundle\WebpackEncoreBundle() в свой AppKernel.phpДобавьте в свой конфигурационный файл
webpack_encore:
output_path: "%kernel.root_dir%/../web/build/"
очистить кэш
Я не знаю, почему команда Symfony просто предположила, что все знают эти 2 шага. Надеюсь, это поможет
комплект не устанавливается сам по себе. нам нужно добавить new \Symfony\WebpackEncoreBundle\WebpackEncoreBundle() в AppKernel.
«Я не знаю, почему команда Symfony просто предположила, что все знают эти 2 шага». Я полностью согласен с этим утверждением. Это большая проблема команды Symfony, она включает в себя слишком много вещей, о которых мы на самом деле не знаем или недостаточно хорошо объяснены, и мы тратим огромное количество времени на ее решение.
Автор вопроса использовал руководство, размещенное на носителе (см. Ссылку в вопросе). В официальной документации, начиная с Symfony 3.4, объясняется, что если вы не используете Symfony Flex, вам необходимо зарегистрировать пакет, создать конфигурацию веб-пакета и некоторые каталоги вручную.
Я наконец добрался туда. Я заменил ссылки ветки на html, на который они заменены, похоже, пока что работает.
Заменять...
{{ encore_entry_link_tags('app') }}
{{ encore_entry_script_tags('app') }}
...с участием...
<link rel = "stylesheet" href = "/build/app.css">
а также
<script src = "/build/runtime.js"></script>
<script src = "/build/app.js"></script>
это в основном замена функций жестко запрограммированным html ...
Я использую Symfony 5: у меня работает! Я бы не исключала это так легко
Пожалуйста, не работайте против webencore. попробуйте вместо этого использовать yarn encore dev - чтобы собрать приложение
Просто запустите следующие 2 cmds:
композитору требуется symfony / webpack-encore-bundle
композитор удалить symfony / webpack-encore-pack
Это устранило проблему для меня, по-видимому, они обновили пакет на бис webpack с помощью symfony 4;
Вот чтение:
https://symfony.com/blog/encore-0-21-0-webpack-4-support-copy-files-support-webpackencorebundle
Он включен в главу об установке веб-пакета: symfony.com/doc/master/frontend/encore/… По крайней мере, он включен сейчас :)