我如何在没有Twig的情况下使用Symfony的Webpack Encore TagRenderer和EntrypointLookup

时间:2019-07-11 10:01:54

标签: symfony twig webpack-encore

我要将Symfony Webpack Encore添加到具有本机php模板的现有项目中,因此无需使用Twig。现在将整个项目重构为Twig并不值得。

Webpack Encore文档中提出了以下Twig代码,以呈现JS script标签和CSS link标签。

 {% block stylesheets %}
     {{ encore_entry_link_tags('app') }}
 {% endblock %}
 {% block javascripts %}
     {{ encore_entry_script_tags('app') }}
 {% endblock %}

所以我想在不使用Twig的情况下实现相同的代码。这些Twig函数使用TagRendererEntrypointLookup类。如何启动所需的模型并模仿Twig功能的功能?

1 个答案:

答案 0 :(得分:1)

如果您有权访问PHP文件中的服务,则这是树枝功能后面的PHP代码:

$service = $container->get('webpack_encore.tag_renderer');

encore_entry_link_tags

$service->renderWebpackLinkTags($entryName, $packageName, $entrypointName);

encore_entry_script_tags

$service->renderWebpackScriptTags($entryName, $packageName, $entrypointName);

您应该传递的参数(使用默认配置)

  • $entryName = 'app'
  • $packageName = null
  • $entrypointName = '_default';