Javascript 为什么在<;脚本>;src,以单斜杠开头会导致错误吗?
我有这个项目结构:Javascript 为什么在<;脚本>;src,以单斜杠开头会导致错误吗?,javascript,html,path,filepath,src,Javascript,Html,Path,Filepath,Src,我有这个项目结构: /root /static script.js page.html /root /static script.js page.html 此代码: ... 结果: Loading failed for the <script> with source “file:///static/script.js”. 为具有源的加载失败”file:///static/script.js”. 为什么呢?我希望它搜索当前目录中的静态文件
/root
/static
script.js
page.html
/root
/static
script.js
page.html
此代码:
...
结果:
Loading failed for the <script> with source “file:///static/script.js”.
为具有源的加载失败”file:///static/script.js”.
为什么呢?我希望它搜索当前目录中的
静态
文件夹(即根目录
)。如果您的根文件夹中有任何目录,并且您的js文件也在其中,那么您只需提及路径,其中包含文件夹名,然后是文件名,如:
folder-name/filename.js
因为在web浏览器中,不需要在文件路径的开头添加正斜杠
浏览器,以便通过self将其删除。由于系统的根目录中没有此类文件,因此存在错误 这可以通过为
/root
文件夹提供服务并通过该服务器访问page.html
轻松解决
您可以找到静态文件服务器的列表
使用Node.js
在“/root”目录中打开终端并运行以下命令:
npm安装-ghttp服务器
http服务器-p8000
然后您可以访问
page.html
文件,网址为http://localhost:8000/page.html
在这种情况下会产生错误,因为我刚刚在我的机器上的浏览器中打开了page.html
(即,我没有通过服务器提供服务),因此,/
被解释为本地机器的根。如果我已经为项目提供了服务,那么/
将被解释为项目的根目录,并且不会出现错误
再详细一点的解释/说明。
鉴于这种结构:
/root
/static
script.js
page.html
/root
/static
script.js
page.html
以下是(在page.html
中)将引用的不同路径:
-根目录,它可能意味着/
,但也可能意味着当前环境的根目录(请参阅本答案开头的说明)/root
-当前(page.html所在的目录)目录,在本例中它恰好是/
/root
- 值得一提的是,当引用当前目录中的某个文件时,
;所以/
相当于/static/script.js
static/script.js
- 值得一提的是,当引用当前目录中的某个文件时,
我从以下方面获得了回答所需的理解:
- ,回答我的另一个问题
static/canvas.js
,而不是/static/script.js
?如果删除斜杠,它不起作用吗?或者加上。。在它之前?html与static位于同一文件夹中,因此在执行/static时,他可能正在页面中查找文件夹。html@RadonirinaMaminiaina你是什么意思?错误消息在file:///static/canvas.js
文件://
是协议,目标是/static/canvas.js