vue-cli或者create-react-app默认build以后资源引用的路径都是绝对路径,需要放到服务器的根目录运行,那么通过更改引用路径为相对路径,比如vue中更改assetsPublicPath为'./',react中的package.json添加homepage: '.',build后直接在本地就能访问,放在服务器里也没问题,那么这种方式有什么缺点?### 问题描述
vue-cli或者create-react-app默认build以后资源引用的路径都是绝对路径,需要放到服务器的根目录运行,那么通过更改引用路径为相对路径,比如vue中更改assetsPublicPath为'./',react中的package.json添加homepage: '.',build后直接在本地就能访问,放在服务器里也没问题,那么这种方式有什么缺点?### 问题描述
感觉主要用途是虚拟路径吧,比如
<img src="/img/logo.png">
注意在“img”前有一个“/”字符,这个“/”代表的是虚拟目录的根目录. web服务访问资源时可以通过服务器设置的虚拟目录来访问资源,而不是通过真实物理路径“C:workspaceadmin-systemimglogo.png”来访问。
没有什么绝对路径,分两部分。
/1.jpg
或./1.jpg
地址在浏览器中会根据当前的url
处理成目标url
。如http://xxx/1.jpg
或http://xxx/index/1.jpg
由http
服务根据url
解析出path
,再根据http
服务配置的映射关系,去服务器的本地目录上去找。
所以从始至终没有什么绝对路径,只不过是不同的利用浏览器组装url
的规则罢了。
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
5 回答734 阅读
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
如果单页面需要seo的话那肯定是绝对路径好。