路径访问符号"/"与"./"的核心区别是什么?
"/" 和 "./" 路径的核心区别
嘿,这个问题其实是很多刚接触路径概念的开发者都会踩的小坑,我来给你把核心差异掰得明明白白:
1. "/":固定指向文件系统/网站的根目录
不管你当前身处哪个目录层级,/永远代表整个文件系统最顶层的起点(在Web开发里则是网站根域名对应的目录)。举几个例子:
- 在Linux/macOS终端里,你就算在
/Users/yourname/projects/frontend这个深层目录里,输入cd /会直接跳转到系统最顶层的根目录,打开/etc/hosts也是直接找根目录下etc文件夹里的hosts文件,完全不受当前位置影响。 - 在Web页面里,
<link href="/css/main.css">会直接请求网站根目录下css文件夹里的样式文件,不管你的页面是在/blog/detail还是/about路径下,这个资源的位置都是固定的。
2. "./":指向当前工作目录的相对路径
./代表你当前正处于的目录本身,是相对路径的起点。它的指向会随着你所在的目录变化而变化:
- 终端里,如果你在
/Users/yourname/projects/frontend,那么./src/index.js就等价于/Users/yourname/projects/frontend/src/index.js。其实很多时候你直接写src/index.js和./src/index.js效果一样,但有些场景必须加./——比如执行当前目录下的脚本时,得写./start.sh,因为系统的PATH环境变量默认不包含当前目录,直接写start.sh会找不到文件。 - Web开发里,如果你的页面在
/blog/detail.html,那么<script src="./utils/analytics.js">会请求/blog/utils/analytics.js,路径是相对于当前页面所在的/blog目录的。
核心差异总结
/是绝对路径的锚点,位置完全固定,和你当前所在的目录无关;./是相对路径的锚点,位置随你当前工作目录的变化而变化,只相对于你现在的位置生效。
内容的提问来源于stack exchange,提问作者jozinho22
相关产品推荐
相关产品推荐

