【问题标题】:Symfony 2 Assetic. Don't see single css or js fileSymfony 2 资产。看不到单个 css 或 js 文件
【发布时间】:2012-04-28 20:47:26
【问题描述】:

当我在 layout.html.php 中添加这样的行时:

<?php foreach ($view['assetic']->stylesheets(
    array('@AnglerBackendBundle/Resources/public/css/*')
    ) as $url
    ): ?>
    <link rel="stylesheet" href="<?= $view->escape($url) ?>" />
<?php endforeach ?>

配置:

# Assetic Configuration
assetic:
    debug:          %kernel.debug%
    use_controller: false
    # java: /usr/bin/java
    filters:
        cssrewrite: ~
        # closure:
        #     jar: %kernel.root_dir%/java/compiler.jar
        yui_css:
             jar: %kernel.root_dir%/java/yuicompressor.jar
        yui_js:
             jar: %kernel.root_dir%/java/yuicompressor.jar

我看到 5 个标签链接到 5 个资源,但根据 Symfony 2 文档,我应该只看到一个文件。 我做错了什么

【问题讨论】:

  • 你是在开发环境中测试它吗?如果是这样,这是正常行为。 symfony.com/doc/current/cookbook/assetic/asset_management.html : "在 dev 环境中,每个文件仍然是单独服务的,这样您可以更轻松地调试问题。但是,在 prod 环境中,这将呈现为单个脚本标签。"
  • 两种环境都是如此。
  • 此外,我可以在 css 文件夹中看到单个文件,但仍然无法理解为什么不使用它
  • 大家都对。以前我在 app.php 中将 AppKernel 的调试参数设置为 true。现在可以了

标签: php symfony assetic


【解决方案1】:

只是将答案放在实际答案中:

你需要改变这个: $kernel = new AppKernel('prod', true);

对此: $kernel = new AppKernel('prod', false);

第二个参数是调试参数。如果调试关闭,Assetic 只会写入一个文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 2013-12-29
    • 2015-03-27
    • 1970-01-01
    • 2012-04-13
    • 2012-10-30
    • 2012-02-10
    相关资源
    最近更新 更多