gpt4 book ai didi

symfony - 使用 Assetic/Twig/Symfony2,我可以定义前端库吗?

转载 作者:行者123 更新时间:2023-12-03 18:26:51 25 4
gpt4 key购买 nike

我正在使用 Symfony2,以及 Assetic 和 Twig。我有各种前端库 - Backbone、jQuery、jQuery UI 和 Bootstrap。 Bootstrap 和 jQuery UI 都包含 CSS 和 JS 文件。

有没有一种方法可以定义他们需要包含的资源(包括依赖项),然后在 Twig/Assetic 中将所有这些资源包含在一个标签中?我希望拥有的是这样的:

// config.yml <!-- DOES NOT WORK -->
assetic:
resources:
jquery:
js: /filepath/to/jquery.js
jquery_ui:
dependencies: jquery
css: /filepath/to/jqueryui.css
js: /filepath/to/jqueryui.js
less:
js: /filepath/to/less.js
bootstrap:
dependencies: { less, jquery }
js: /filepath/to/bootstrap.js
css: /filepath/to/bootstrap.css
backbone:
dependencies: { jquery }
js: { /filepath/to/underscore.js, /filepath/to/backbone.js }

// view.html.twig
{% use jquery_ui %}
{% use bootstrap %}

// outputs all js and css for jQuery, jQueryUI, Less, Backbone, and Bootstrap

我发现了几个相关的问题:
  • How to define Assetic resources in Symfony 2 yml or xml configuration file?
  • Symfony2 Assetic + Twig Template JavaScript Inheritance

  • 但似乎都没有涉及在 config.yml 中定义资源。相反,他们在 base.html.twig 中定义了它们。但这就是我想要避免的。

    我尝试使用 use通过定义一个名为“jquery_ui”的模板并使用 {% stylesheets %} 在 Twig 中标记和 {% javascripts %}在那个块然后在 base.html.twig{% use "jquery-ui.html" %} .然而, use不会导入模板,因为它有一个主体。

    最佳答案

    虽然确实支持定义前端库,但遗憾的是不支持依赖解析。您还必须分别定义 CSS 和 JavaScript。

    我一直在做的是在 /app/config/ 中创建一个单独的文件叫 assets.yml并将其包含在主要配置中以保持清洁。

    assetic:
    assets:
    jquery:
    inputs:
    - '%kernel.root_dir%/Resources/public/js/jquery.js'
    - '%kernel.root_dir%/Resources/public/js/jquery-ui.js'
    my_lib:
    inputs:
    - '%kernel.root_dir%/Resources/public/js/my-custom-lib.js'
    - ...

    请注意,'%kernel.root_dir%' 解析为 app Symfony2 中的默认目录。您现在可以使用 Twig 模板中的 Assets 。
    {% block javascripts %}
    {% javascripts '@jquery' '@my_lib' output="js/jquery.js" %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
    {% endblock %}

    对 CSS 文件也可以这样做。该示例还演示了为什么不能将 CSS 和 JavaScript 定义为单一 Assets 的原因。

    关于symfony - 使用 Assetic/Twig/Symfony2,我可以定义前端库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10830129/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com