Web 应用程序的 CSS 文件位置

问题描述 投票:0回答:1

我是 BaseX 新手,正在尝试设置一个简单的 Web 应用程序。以 DBA 为例,我可以看到有一个文件

webapp/dba/static/style.css
,在 HTML 中被引用为
<link rel='stylesheet' type='text/css' href='static/style.css'/>
,XQuery 模块中的 HTML 输出位于
webapp/dba/lib/html.xqm
。在我自己的项目中,我希望在
webapp/first/second/third/default.xqm
等路径中拥有一个 XQuery 模块,并使用 RESTXQ 函数返回包含
link
的 HTML 文档,但我无法确定
@href 使用哪个路径
.

查看 GET 请求标头,我可以看到浏览器正在寻找

/first/second/third/static/style.css
。但是当我将 CSS 文件放入该路径时,浏览器会为 CSS 文件返回 404。我尝试了 CSS 文件位置和 @href 中路径的几种不同组合。看来我误解了路径是如何解析的。

basex
1个回答
0
投票

使用RESTXQ时,您的应用程序中需要有一个函数,其路径注释与浏览器请求路径匹配。该函数可以创建任何响应。它可以根据您的代码选择从任何地方返回文件内容。

以 DBA 应用程序为例。此 function 匹配以

dba/static/...
开头的任何路径,并从磁盘返回“static/”|| 处的文件内容。 $file 相对于 common.xqm 模块文件路径。您需要在您的应用程序中编写类似的内容。

或者,更简单但不太灵活,在默认的 BaseX 配置浏览器中,请求从

webapp/static
文件夹内的路径自动读取以 '/static/.. 开头的路径,而无需编写额外的代码。

© www.soinside.com 2019 - 2024. All rights reserved.