如何使用Javascript Twig模板正确地包含Javascript

How to include properly Javascript using a Javascript Twig Template

本文关键字:Javascript 正确地 包含 Twig 何使用      更新时间:2023-09-26

我知道如何访问我的资产,但我想创建一个使用Javascript和Twig的模板,这将允许我在脚本中使用Twig变量。

例如,我有一个名为"details.html.trick"的模板,它扩展了"layout.html.tritch":

{% extends '@AcmeBundle/Front/layout.html.twig %}
{# SOME CODE AND CONTENT #}

{% block page_script %}
  {{ parent() }}
  <script>
    {# Part of my script #}
  </script>
{% endblock page_script %}

所有这些都运行得很好,但为了能够重用一些js代码(使用trick变量),我剪切了脚本的一些部分,并将其放入一个外部模板中,名为"viewer.html.titch"。为了能够在我的"details.html.trick"中使用它,我使用了:

{% include '@AcmeBundle/Front/Model/viewer.html.twig' %}

我把这一行放在{parent()}之后,<script>标记之前。然而,我的脚本过去是直接写在"细节"模板中的,现在似乎被忽视了。

如果你们中的任何人都能知道是什么让我的模板被包含但被跳过,或者有一种更容易或正确地包含模板的方法,我愿意接受各种各样的观察。

G'day,Jérémy

如果您编写的文件只包含javascript,则应将文件命名为:

{% include '@AcmeBundle/Front/Model/viewer.js.twig' %}

然后Twig(截至1.17)会根据扩展自动定义其逃跑策略。

请参阅twitch文档和symfony中js-titch文件的示例。