当我在我的HTML页面中包含像Bootstrap这样的库并加载此页面时,也会加载库主文件.大多数情况下,库文件需要其他文件.因为我使用Bootstrap作为例子,让我们考虑glyphicons-halflings-regular.svg,glyphicons-halflings-regular.ttf,glyphicons-halflings-regular.woff和glyphicons-halflings-regular.woff2,它们都是Bootstrap的一部分.
我正在编写一个Rack中间件来处理来自我的应用程序的请求.此中间件的任务之一是根据某些约定修改请求.例如,在我的应用程序中,Bootstrap将位于此路径中
ENV['HOME']/my_app/web/libraries/bootstrap/
然后它的主要CSS文件
ENV['HOME']/my_app/web/libraries/bootstrap/css/bootstrap.css
我需要的是确定某个文件,比如glyphicons-halflings-regular.svg,是另一个文件所需要的,所以我可以使用我的Rack中间件来相应地改变它的位置.喜欢:
Requested file: `glyphicons-halflings-regular.svg` Requested-by: http://my_app_domain.com/web/libraries/bootstrap/css/bootstrap.css Request address: http://my_domain_app.com/web/libraries/bootstrap/css/../fonts/glyphicons-halflings-regular.svg
我想为每个新请求启动一个线程.然后我只需要考虑主文件的地址作为基地址,并将其添加到该文件生成的每个子请求中.
我很想听听你对此的看法.有没有更好的方法来做同样的建议?
编辑:( spickermann的问题)
不,这不是重点.也许我不清楚,然后我会试着换句话说.
考虑以下结构:
ENV['HOME']/my_app/web/libraries/library1/ | | | |_ a_css_file.css | |_ a_jpeg_file.jpg | /library2/ | |_ another_css_file.css |_ a_jpeg_file.jpg
假设我的中间件收到一个名为a_jpeg_file.jpg的文件的请求.我们有两个具有相同名称的文件,一个在library1中,另一个在library2中.
我决定使用哪个文件的唯一方法是,我是否知道a_css_file.css或another_css_file.css是否需要a_jpeg_file.jpg.
在第一种情况下,我将库1的路径添加到文件中,并提供ENV [‘HOME’] / my_app / web / libraries / library1 /.在另一种情况下,我将路径添加到library2并提供ENV [‘HOME’] / my_app / web / libraries / library2 /.
在这两种情况下,我都需要知道哪个文件生成了对a_jpeg_file.jpg的请求.
换句话说,我需要知道哪个库上下文需要某个文件.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。