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

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

Что я сделал:

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

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


person 113408    schedule 09.11.2018    source источник


Ответы (3)


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

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

  1. Обновите мою версию php, чтобы она соответствовала требованиям пакета Webpack encore (> 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 шага. Надеюсь, поможет

person 113408    schedule 09.11.2018
comment
Он включен в главу по установке веб-пакета: symfony.com/doc/master/frontend/encore/ По крайней мере теперь он включен :) - person Michal Trojanowski; 22.06.2019
comment
комплект не устанавливается сам. нам нужно добавить new \Symfony\WebpackEncoreBundle\WebpackEncoreBundle() в AppKernel. - person Pedro Casado; 04.03.2020
comment
Я не знаю, почему команда Symfony просто предположила, что все знают эти 2 шага. Я полностью согласен с этим утверждением. Это большая проблема команды Symfony, она включает в себя слишком много вещей, которые мы на самом деле не знаем или плохо объясняем, и мы тратим огромное количество времени на ее решение. - person Jorge H; 10.09.2020
comment
Автор вопроса использовал руководство, размещенное на среде (см. ссылку в вопросе). В официальной документации, начиная с symfony 3.4, объясняется, что если вы не используете Symfony Flex, вам необходимо зарегистрировать пакет, создать конфигурацию веб-пакета и некоторые каталоги вручную. - person Arek Kostrzeba; 11.03.2021

Просто запустите следующие 2 команды:

для композитора требуется symfony/webpack-encore-bundle

композитор удалить symfony/webpack-encore-pack

Это решило проблему для меня, по-видимому, они обновили пакет webpack encore с symfony 4;

Вот немного чтения:

https://symfony.com/blog/encore-0-21-0-webpack-4-support-copy-files-support-webpackencorebundle

person Dragos    schedule 23.12.2019

Я наконец добрался туда. Я заменил ссылки ветки на 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>
person martin    schedule 30.09.2019
comment
это в основном заменяет функции жестко запрограммированным html... - person Tilde; 06.02.2020
comment
Я использую Symfony 5: у меня работает! Я бы не исключал это так легко - person Jorge H; 10.09.2020
comment
Пожалуйста, не работайте против webencore. вместо этого попробуйте использовать yarn encore dev для создания приложения - person da2ky; 23.04.2021