【问题标题】:Put Assetic back in dynamic mode after assetic dump资产转储后将资产恢复为动态模式
【发布时间】:2015-10-18 14:08:12
【问题描述】:

我正在使用 Symfony2 和 Assetic。最近我做了很多 CSS 工作,所以在某个时候我需要命令

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

自从我使用它以来,我每次更改 CSS 时都需要运行该命令以查看差异。现在我做了一些研究,发现我可以将 Assetic 置于观看模式,这样我就不必在每次更改后使用以下命令运行上面的命令:

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

但是,我只是想让它回到手动模式之前。 Symfony2 文档说明了如何进行资产转储,但没有说明如何将其恢复为动态模式 (http://symfony.com/doc/current/cookbook/assetic/asset_management.html#dumping-asset-files)

有谁知道如何让它回到动态模式?

【问题讨论】:

  • 你的 config.yml 中有 assetic: debug: %kernel.debug% use_controller: true 吗?
  • 是的,我在 config.yml 中的资产部分:pastebin.com/495BTwsm

标签: css symfony assetic


【解决方案1】:

Symfony 不从内部控制器动态地提供资产有两种可能:

1。 assetic.use_controller 不是真的

确认 100% 你告诉 Symfony assetic.use_controllertrue。一种直接的调试方法是将其添加到控制器操作的顶部并重新加载页面:

var_dump($this->container->getParameter('assetic.use_controller'));die();

没有将true 作为返回值可能意味着您将在config_dev.phpconfig_prod.php 中覆盖use_controller,具体取决于您指向的环境。

2。您的 Web 服务器在传递给 Symfony 之前正在检查静态资产

大多数网络服务器都可以配置为检查 URL 是否指向物理文件资产并交付该文件。因此,如果您在 Symfony 中转储了资产,则网络服务器可能正在提供该文件,而不是将请求传递给 Symfony。

解决方案是从文件系统中删除转储的资产文件。它们的位置取决于您将它们配置到的位置,但请查看web/jsweb/bundles 等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 2013-10-15
    • 2022-06-10
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多