加载外部脚本时无法加载资源错误

Failed to load resource error when loading external scripts

本文关键字:加载 资源 错误 外部 脚本      更新时间:2023-09-26

>我正在尝试将外部脚本从文件夹加载到我的createnew.html文件中,但不断收到此错误,说找不到它:

加载资源失败:服务器响应状态为 404(未找到(

我正在尝试在代码head加载脚本,如下所示:

<head>
    <!--C3 CSS script-->
    <link href="./scripts/c3.css" rel="stylesheet" type="text/css">
    <!--C3 JS script-->
    <script src="./scripts/c3.min.js"></script>
</head>

我的文件排列方式如下:

->public
 ->views
 -createnew.html
  ->scripts
  -c3.css
  -c3.min.js

请帮助我理解为什么这不起作用。

随着这个问题变得比预期的更受欢迎,我决定为其他有问题的人指出正确的方向:

假设您已经像这样组织了文件:

-  server.js
-> MyWebsite(folder)
   -  index.html
   -> js(folder)
      - myscript.js

您使用的路径相对于您所在的"工作目录"。

  1. 不使用服务器,并且仅在计算机上本地开发网站时,此工作目录将是index.html文件到脚本的相对路径。在这种情况下,它将是 ./js/mysript.js .
  2. 使用服务器时,您需要告诉它此工作目录的位置。在 Node 的情况下.js你会做这样的事情app.use(express.static('./MyWebsite'))你的 js 文件将被引用/js/myscript.js

请注意,从服务器加载时,前缀是/而不是./,因为/实际上只是服务器托管的文件URL的一部分,而./特定于文件系统。

更改

"./scripts/c3.css"

"scripts/c3.css"

你可以参考这个问题,关于HTML中文件的相对路径。
要引用当前文件夹, ./仅在非严格文档类型模式下工作,而.在两种模式下都有效。因此,您可以尝试"scripts/c3.css"而不是"./scripts/c3.css"