Symfony 2 中 CSS 文件中资源的路径
本讨论重点是寻找一种解决方案,用于在 CSS 文件中引用图像,同时保持所需的图像Symfony 2 中的目录结构。目标是解决 CSS 文件中的路径问题,并确保在不向公众公开原始源文件的情况下可以访问图像。
之前的解决方案
最初的尝试涉及在 CSS 文件中硬编码绝对路径,从而使应用程序与子目录不兼容。还使用了带有 filter="cssrewrite" 的 Assetic,但它导致了错误的路径生成。
当前(首选)解决方案
首选解决方案需要将 CSS 文件存储在“Resources/assets/css”目录和“Resources/public/images”目录中的图像。通过 CSS 文件中的相对引用,例如“url("../images/myimage.png")”,可以在编译时生成正确的路径。这种方法在开发和生产环境中都能完美运行。
讨论与分析
作者使用 @notation、相对表示法、CSS 重写的各种组合进行了广泛的测试,图像背景与 src,以及使用和不使用 assetic 进行解析。结果显示,只有特定选项才能产生所需的行为。
解决方案说明
所需的成功方法:
最终想法和注意事项
为了增加安全性,建议将原始 CSS 文件存储在“assets”目录,并让部署过程在编译之前将它们复制到“public”目录。或者,仍然可以将原始文件存储在“public”目录中,以便在开发过程中使用 --symlink,前提是您编写了编译后删除这些文件的脚本。
以上是如何在 Symfony 2 中正确引用 CSS 文件中的图像?的详细内容。更多信息请关注PHP中文网其他相关文章!