首页  >  文章  >  web前端  >  如何管理 Symfony 2 应用程序的 CSS 文件中的资源路径?

如何管理 Symfony 2 应用程序的 CSS 文件中的资源路径?

Barbara Streisand
Barbara Streisand原创
2024-11-18 16:28:02727浏览

How to Manage Asset Paths in CSS Files for Symfony 2 Applications?

Symfony 2 中 CSS 文件中资源的路径

问题:

使用 Symfony 2 将 CSS 文件与图像集成特定目录

尝试的解决方案

  • 绝对路径:由于潜在的部署,在 CSS 文件中维护绝对路径不是一个可扩展的解决方案问题。
  • 使用“cssrewrite”进行资产管理过滤器: 虽然使用 cssrewrite 过滤器在某些情况下有所帮助,但它可能会生成不正确的路径。
  • 带有“../”的相对路径:此方法适用于开发环境,但生产环境遇到问题。

最终解决方案

选项1:编译后删除原始CSS文件

  • 将原始CSS文件存储在私有“assets”目录中。
  • 使用 assetic:install 在公共“web”目录中安装 CSS 文件。
  • 执行assetic:dump 编译 CSS 并在 /web/css/stylexyz.css 中生成最终版本。
  • 在 assetic:dump 后删除 /public 目录中的原始 CSS 文件。

选项2:预编译CSS并直接公开安装目录

  • 使用您喜欢的方法(例如 Sass、Less)预编译 CSS。
  • 将预编译的 CSS 文件复制到公共“web”目录中.
  • 通过 assetic:install 安装 CSS 文件,这将创建指向已编译 CSS 的符号链接
  • 在 assetic:install 后删除 public 目录中的原始 CSS 文件。

好处:

  • 符合所需的目录结构。
  • 防止原始 CSS 文件暴露给公共。
  • 确保对图像的正确路径引用。
  • 允许使用 CSS 过滤器。

注意事项:

  • 最终的解决方案跳过了 Twig 中 asset() 的使用,因为它假定了 CSS文件已预编译和安装。
  • 设置部署或自动化流程来根据需要处理 CSS 文件的安装和删除非常重要。

以上是如何管理 Symfony 2 应用程序的 CSS 文件中的资源路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn