0

我正在使用 Symfony2 编写一个应用程序,我有一种情况,我想组合所有 CSS 和 Javascript 资源并将它们包含在我的 Twig 模板中,这样最后只有一个文件通过 HTTP 返回要求。

    {% block stylesheets %}
        {% stylesheets output='web/css/combined.css' combine=true 
            '@stylesheet1.css'
            '@stylesheet2.css'
            '@stylesheet3.css'
            '@stylesheet4.css'
        %}
        {% endstylesheets %}

        // PSEUDO

        include 'combined.css'

        // END PSEUDO
    {% endblock %}

因此,我希望直接访问输出,而不是使用 Assetic 仅组合文件然后引用它们。所有的 CSS 都在一个<style>标签中,所有的 JS 都在一个<script>标签中。

有没有办法在不扩展现有库的情况下做到这一点?

4

1 回答 1

0

为什么要直接访问组合资产?

事实上,assetic 就是这样做的:在开发环境中<style>,每个样式表都有一个标签,而在生产环境中,它们都组合在一个 .css 文件中,因此使用一个<style>. 当然,javascript 文件也会发生同样的情况。

要使后者工作(在prod环境中),您需要手动转储它们:

php app/console assetic:dump --env=prod

查看 dev/prod 中的源 HTML weh。我从未使用过该combine选项,也没有关于它的官方 Symfony 2 文档

于 2013-02-02T15:29:01.367 回答