Неизвестная функция "encore_entry_link_tags" при использовании Webpack Encore ^ 0.21.0

Я хотел бы использовать новую версию Webpack на бис, чтобы иметь доступ ко всем новым функциям, которые он предлагает. однако после выполнения шагов в официальное руководство я не могу заставить его работать, и я получаю Unknown "encore_entry_link_tags" function

Что я сделал:

  1. Обновите мою версию php, чтобы она соответствовала требованиям пакета Encore Webpack (> 7.1.9)
  2. запустить composer require symfony/webpack-encore-bundle
  3. обновить версию на бис в package.json 0.21.0
  4. запустить npm install --save-dev
  5. очистить кэш

Я не уверен, почему это не работает. Любое предложение будет оценено.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
17
0
11 306
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Немного покопавшись, я обнаружил, что пропустил некоторые шаги (не упомянутые в руководстве). Может быть, для других это очевидно, но в моем случае это было не так.

Вот все шаги, чтобы это работало:

  1. Обновите мою версию php, чтобы она соответствовала требованиям пакета Encore Webpack (> 7.1.9)
  2. запустить composer require symfony/webpack-encore-bundle
  3. обновить версию на бис в package.json 0.21.0
  4. запустить npm install --save-dev
  5. Добавьте new \Symfony\WebpackEncoreBundle\WebpackEncoreBundle() в свой AppKernel.php
  6. Добавьте в свой конфигурационный файл

    webpack_encore:
        output_path: "%kernel.root_dir%/../web/build/"
    
  7. очистить кэш

Я не знаю, почему команда Symfony просто предположила, что все знают эти 2 шага. Надеюсь, это поможет

Он включен в главу об установке веб-пакета: symfony.com/doc/master/frontend/encore/… По крайней мере, он включен сейчас :)

Michal Trojanowski 22.06.2019 11:48

комплект не устанавливается сам по себе. нам нужно добавить new \Symfony\WebpackEncoreBundle\WebpackEncoreBundle() в AppKernel.

Pedro Casado 04.03.2020 21:51

«Я не знаю, почему команда Symfony просто предположила, что все знают эти 2 шага». Я полностью согласен с этим утверждением. Это большая проблема команды Symfony, она включает в себя слишком много вещей, о которых мы на самом деле не знаем или недостаточно хорошо объяснены, и мы тратим огромное количество времени на ее решение.

Jorge H 10.09.2020 01:39

Автор вопроса использовал руководство, размещенное на носителе (см. Ссылку в вопросе). В официальной документации, начиная с Symfony 3.4, объясняется, что если вы не используете Symfony Flex, вам необходимо зарегистрировать пакет, создать конфигурацию веб-пакета и некоторые каталоги вручную.

Arek Kostrzeba 11.03.2021 00:39

Я наконец добрался туда. Я заменил ссылки ветки на 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 ...

Tilde 06.02.2020 11:24

Я использую Symfony 5: у меня работает! Я бы не исключала это так легко

Jorge H 10.09.2020 02:34

Пожалуйста, не работайте против webencore. попробуйте вместо этого использовать yarn encore dev - чтобы собрать приложение

da2ky 23.04.2021 08:46

Просто запустите следующие 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

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