script标签的相对路径请求怎么转成绝对路径?

image.png
如上图,这个网站是用react写的,当输入地址后,返回了入口html,然后开始执行html

令我疑惑的是src中不带/的路径应该是相对路径才对,发起的请求应该是当前目录下的请求,也就是:http://app.xxx.com/application/main.js

但是发起的请求却是根路径的
image.png

我自己经过试验<sctipt src="xxx.js"></script>,发现也是基于当前路径的

请问这种将相对路径变成根路径的请求是什么技术,是要在后端配置的吗

阅读 3k
2 个回答
✓ 已被采纳

不是什么技术,也不需要配置,这是绝对路径和相对路径的的问题

  1. 以 “/” 开头的就是绝对路径,浏览器解析之后就会变成 “http://ip:port” 后面再跟上这一串;
  2. 以 “./” 开头的就是相对路径,浏览器解析之后就会以当前资源所在为参考;
  3. 以 “../” 开头的也是相对路径,浏览器解析之后就会以当前资源的父级为参考;
  4. 啥也不带,就像你上面的示例,同 “./” 相同;

上面说的都是以浏览器作为参考,如果在服务器上,相对路径解析是相同的,不同的是绝对路径

  1. 以 “/” 开头服务器上解析会定位到项目的根目录,例如服务器上的目录结构是这样的
└── root
    └── src
        └── index.html

我们访问index.html是这样的http://ip:port/index.html,如果没有一些配置是访问不到的,因为/index.html在服务器上指向的是root/index.html,所以需要http://ip:port/src/index.html才能正常访问

在浏览器中并没有目录这一说,所以http://ip:port对于浏览器来说就是根目录;

而在服务器上http://ip:port指向的是不是root呢?需要看配置,你可以将http://ip:port代理到src里面。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏