【问题标题】:symfony2 : kernel.debug is always falsesymfony2:kernel.debug 总是假的
【发布时间】:2013-08-26 20:01:10
【问题描述】:

我使用assetic 将css 和js 文件捆绑在一起,我注意到即使在调试模式下它们也是捆绑在一起的。只有当 kernel.debug 为 false 时才会发生这种情况。

所以我尝试了以下方法:

原创:

 assetic:
   debug:         %kernel.debug%

强制为假:

 assetic:
   debug:         false

强制为真:

 assetic:
  debug:         true

当我强制设置为 false 时,文件被捆绑。当我强制为真时,文件不会被捆绑。当我离开 %kernel.debug% 时,文件被捆绑。

为什么 %kernel.debug% 等于 false,即使在 app_dev 中我已将其设置为 true:

$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
Debug::enable();

 require_once __DIR__.'/../app/AppKernel.php';

 $kernel = new AppKernel('dev', true);

编辑

assetic:
debug:         %kernel.debug%
use_controller: false
bundles:        [ ]
#java: /usr/bin/java
filters:
    cssrewrite: ~
    uglifyjs2:  
        bin: /usr/bin/uglifyjs
        apply_to: "\.js$"      
    uglifycss:
        bin: /usr/bin/uglifycss
        apply_to: "\.css$"    

【问题讨论】:

    标签: php symfony assetic


    【解决方案1】:

    我猜你正在尝试使用 assetic:dump 命令转储资产。

    为了避免创建调试文件,请在命令中添加--no-debug

    您可以在生产环境中添加--env=prod 进一步显式执行该命令。所以最后...

    app/console assetic:dump --env=prod --no-debug
    

    ... 不会创建调试文件。

    请注意--no-debug 不能与--watch 结合使用。

    【讨论】:

    • 这就是我进入生产阶段时所做的事情。但是为什么我在开发时需要这样做呢?
    • 文件被“捆绑”到底是什么意思?您是在倾销资产并使用 twig 的 asset 函数还是assetic-bundle 的 stylesheetsjavascripts 函数?您是在配置中(assetic -> assets)还是在树枝模板中声明您的资产?请澄清一下您的工作流程:)
    • 我没有倾倒任何东西(我在生产环境中这样做,但不是在开发环境中)。我在模板中使用资产功能,并在 config.yml 中配置资产。我已经用我的资产设置编辑了我的原始帖子。如您所见,我使用 uglifyjs 和 uglifycss。但同样,它应该在调试时处于活动状态。
    猜你喜欢
    • 2015-03-28
    • 2019-10-11
    • 2020-10-13
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多