这与库无关,而与自定义脚本有关。

我知道两种解决方案:

  • 将所有内容写入一个大文件(许多函数或自定义库)中
  • 在 Twig 模板中编写脚本片段

  • 两种解决方案都不是很喜欢。在第一种情况下,我们必须在每次更新后复制 Assets 。在第二种情况下,进行更改并不容易,并且很难重用代码。

    也许您知道其他解决方案吗?

    最佳答案

    通常,我将JavaScripts组织在单独的文件中,然后尝试形成 namespace 和类,实例化和枝条值的问题,我在类中使用了一些构造函数,例如下面的示例:

    {%block javascripts}
      {{ parent() }}
      <script type='text/javascript' src={{ asset('path/to/my/SpecificClass.js')}}
    
       SpecificClass.attribute1 = {{ value_from_twig }}
       SpecificClass.attribute2 = {{ other_value_from_twig }}
    
    {%endblock}
    

    我觉得这种方法更干净,但是如果您想将js代码与 Twig 完全分开,那么我认为您应该考虑使用AngularJsBackboneJs的API架构

    09-20 11:47