给定以下项目结构:
/root
/static
script.js
page.html
这将' import ' script.js
,进入html文件:
<html>
<head>
<script src="/static/script.js"></script>
</head>
<body>
...
</body>
</html>
这也将:
<html>
<head>
<script src="./static/script.js"></script>
</head>
<body>
...
</body>
</html>
我想知道:
- 是一种比另一种优先的方式?
- 当
/
和./
时,是否有任何情况,在src
中,<script>
的属性会有所不同?
是,它们都不同。您无法看到index.html
已经在您的根目录中。如果目录内有.html
文件。然后您可以看到差异。
./这给出了您要访问的文件的相对路径
/这给出了目录根的绝对路径
如果这是目录结构
/root
/static
script.js
/page
index.html
那么,您将无法使用./因为它在page
文件夹中找不到script
文件夹
因此,如果您使用复杂的目录结构使用。/即relative
路径,并且如果您具有纯粹的结构,则absolute
路径将很好。为了更好地实践,相对路径比绝对路径更受欢迎。希望,这回答了您的问题。
现在,我在JavaScript中不是超级经验,但是我会让您知道我所知道的。
[...]
<script src="./static/script.js"></script>
[...]
<!--This would reference files in the current folder (where the webpage itself is stored)-->
[...]
<script src="/static/script.js"></script>
[...]
<!--This would reference an absolute path within your webserver, and cannot change dynamically based on from where you load it.-->
一般而言,当您从当前文件夹(和/或服务器(中加载文件时,我会选择./
,而执行/
的同时似乎是对我的外部引用,这也不是动态的。如果您碰巧移动文件(如果与您的页面相同的目录中(,我认为JavaScript也会引用新文件,而不是抱怨旧文件。
我不能保证上面的任何信息都是正确的,因为我不是一个非常好的JS开发人员,但是至少这应该可以帮助您更多地弄清楚语法。
./
是一个相对路径,也是当前目录。
/
是绝对路径或提供资产的根路径。
./
是链接到当前目录的相对路径。
/
是链接到根目录的绝对路径。
您可以在此处找到更多信息。