script 标签相对路径转为绝对路径的妙招
你在处理 React 应用程序时遇到了一个难题,就是 src 属性中没有斜杠 (/) 的 script 标签,似乎发起的请求是根路径的,而不是当前目录的。
那么,这背后的原理是什么呢?
要理解这个问题,我们需要了解 <base> 标签。<base> 标签可以指定页面中所有相对路径的基础 URL。当你使用 <base href="x"> 时,所有页面的相对路径都会根据这个 x 来计算。
在你的案例中,网站很可能在入口 HTML 文件中使用了 <base> 标签。当 <script src="xxx.js"> 执行时,浏览器会查找 <base> 标签,然后将 "xxx.js" 转换为绝对路径。这就是为什么你的请求基于根路径,而不是当前目录。
因此,想要将相对路径转换为绝对路径,你可以在后端配置 <base> 标签,或者在入口 HTML 文件中手动添加它。