Sylius 样式表未重新加载

Sylius Stylesheet Not Reloading

所以这是一个问题。我是 Sylius 的新手,正在处理一些简单的 CSS 更新。我有 Sylius 运行 的本地副本,内置网络服务器:server:run。我在 Digital Ocean 上也有一个开发服务器,它运行一个(几乎)相同的 Sylius 副本,当然除了配置之外。

但是,我的 CSS 更新发生了一些奇怪的事情。我在 web/assets/compiled/backend_backend_4.css 内对 .navbar-brand 进行了更改。

此更改立即显示在我的本地。然而,在开发服务器上,当拉下更改 (git) 并验证它现在存在于该文件中时,更改似乎没有传播。它的效果没有显示,检查样式​​表没有显示它们,而且直接在浏览器中查看 css 文件源代码也没有显示更改。但是在文件系统上它肯定存在。

我已尝试清除缓存,但无济于事。

我还检查了两个 config_dev.yml 文件中的资产价值,并验证它们都设置为 use_controller: true

尽管如此,我还是尝试抛售 assetic,但无济于事。

所以我想知道发生了什么事。此外,我意识到我可能不应该编辑名为 'compiled' 的文件夹中的 CSS 个文件。我确信有一种方法可以使用编译器来做到这一点,但我还不熟悉这个过程,到目前为止我只是在做一些小的改变和学习缓存。

是的,你是对的,你不应该编辑编译后的文件。

您应该编辑源文件,然后 运行 gulp

或者在我的系统上我必须明确地 运行 npm run gulp

我在这里记录了对我有用的解决方案。它根本不涉及 Gulp,而是使用 Assetic:

  • 资产需要先安装为硬拷贝(我不太确定 这到底是做什么的,但这似乎是重要的一步,因为 它将大量资产复制到地方。文档没有帮助,但 它是在 Stack Overflow 某处建议的。):
    • app/console assets:install 网页
  • 应在 web/bundles/[bundle-here]/css 或 js 中编辑资产。这个 如果它与页面样式有关,则经常在 syliusweb 中/ 布局。
    • 提示:这些资产在文件中引用,例如 src/Sylius/Bundle/Resources/views/Backend/layout.html.twig(参见 开幕式:

(% stylesheets

标签,或普遍搜索此标签)。 在这个标签中,您会看到样式表有一个输出到已编译的文件夹,但也列出了 他们从中提取原始 css 的捆绑包。如果您希望您的更改最终出现在目标 css.

中,您应该编辑其中一个源 css 文件
  • 编辑资产后,转储资产:
    • php app/console assetic:dump
    • 注意 - 也可以在这些资产上设置资产观察者 (google 找出方法,认为它是某处的 -w 标志),但这是 据说只能在开发模式下工作,因为它应该。

转储 assetic 后,源包中的资产会编译成它们的 assets/compiled 版本,通常会组合多个样式表。您现在应该会看到资产刷新!