gpt4 book ai didi

css - 在使用重写规则的框架中,如何最好地集成 CSS 和 JS?

转载 作者:技术小花猫 更新时间:2023-10-29 10:30:12 26 4
gpt4 key购买 nike

我有一个框架,它通过一个基本文件路由所有传入的 URI,并且为了处理静态文件,我有一个子目录/static,我在其中放置了所有 CSS、JS 和图像(即/static/css/main.css) 以保持清晰。

我自己的代码和插件可以很好地处理这个问题,但有时需要实现其他代码,并且 CSS 文件通常会尝试通过调用这些文件中的 URI 来设计样式。我怎样才能以最好的方式处理这个问题?

一个例子;

/关于/公司路线到 /script?q=关于/公司并锁定站点的主要结构。然而; /static/css/main.css使用来自的背景图像; /static/images/widget/bg-color.png

由于这是一个框架,我不愿意在 CSS 文件中硬编码/static 路径。首先,我不想将网站限制为只能从某个根目录提供服务。 :) 对于所有 JS,都有处理此问题的对象(即 var x = $xs_dir.js + '/script.js' ;),但 CSS 不存在。我想我有五个选择;

  1. (最差)在我的管理工具中有一个选项可以扫描所有 CSS 文件以查找 URI 引用,并在它们前面添加正确的静态目录,并将所有 CSS 写入根目录,就好像它们是静态的一样。

  2. (差)依赖网络服务器将任何静态目录别名为一个根静态目录的能力,并让管理员处理它。

  3. (嗯,慢)通过框架提供 CSS 文件,使用正确的静态路径过滤 URI。

  4. (最简单,但不是很容易)为可能存在的任何服务器设置手动编码我的 CSS 文件的静态部分,并确保它们易于查找和更改。

  5. (可能是最好的,但很复杂?)有一个重写规则来检测当前目录中的图像,将它们转发到静态目录,并使用一些可识别的动态路径编写所有 CSS。 (即代替/static/images/img.png 执行 images/img.png 并依靠重写规则将其推送到需要去的地方,同时限制网站结构永远不会有名为“图像”的子目录)

还有其他选择吗?想法?我知道 Joomla 和类似的有一些文件重写,但可能没有。 5?

最佳答案

不确定您是否有 .htaccess 文件,但一种选择是在文件夹“images”下放置一个重写规则以将请求重定向到您的静态(或其他)文件夹:

RewriteRule ^[^\?]*(images/)(.*)$ /static/$1$2 [NC,L]

这样您就可以在 CSS 中将所有图像引用为/images/whatever.png。

如果您需要为不同的服务器进行不同的设置,您始终可以为每个环境或服务器准备一个单独的 .htaccess 文件,并对它们进行版本控制。

关于css - 在使用重写规则的框架中,如何最好地集成 CSS 和 JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com