首页 > 文章列表 > React应用中script标签相对路径为何变为绝对路径?

React应用中script标签相对路径为何变为绝对路径?

488 2025-04-10

React应用中script标签相对路径为何变为绝对路径?

React应用中script标签相对路径转换为绝对路径的解析

在构建React应用时,开发者可能会遇到script标签中的相对路径被浏览器解释为绝对路径的情况。例如,预期请求路径为http://app.xxx.com/application/main.js,但实际请求却变成了http://app.xxx.com/main.js。本文将分析这种现象背后的机制。

问题描述中,提问者观察到React应用中img标签的src属性和script标签的src属性中的相对路径都被转换为绝对路径,这与预期的基于当前目录的相对路径请求不符。

根本原因在于标签的使用。标签定义了所有相对URL的基准URL。在HTML文件中设置标签后,所有相对路径都将相对于标签中指定的URL进行解析。 React应用的入口HTML文件很可能包含一个标签,将基准URL设置为空(根路径)。因此,即使src属性中没有明确指定绝对路径,浏览器也会根据标签的设置,将相对路径转换为以根路径为起点的绝对路径进行请求。

这种路径转换完全在前端通过HTML标签控制,无需后端配置。 理解标签的作用是解决此类问题的关键。

来源:1741393377