2015-06-24 102 views
1

我试图从一个文件夹外部脚本加载到我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. 当不使用服务器,只开发网站locall y在您的计算机上,此工作目录将是从您的index.html文件到脚本的相对路径。在这种情况下,它将是./js/mysript.js
  2. 使用服务器时,您需要告诉它该工作目录在哪里。在Node.js的的情况下,你会做这样的事app.use(express.static('./MyWebsite'))和您的js文件会被/js/myscript.js

注意,从服务器加载当你与/,而不是./前缀引用,因为/真的只是一个部分由您的服务器托管到您的文件的URL,而./是特定于文件系统的。

+0

尝试“/脚本/ C3 ...”或“/视图/脚本/ C3 ......” – dandavis

+0

@dandavis最后一个工作,你会介意解释为什么呢? – martin

+1

完整的网址路径通常更适合从多个网页使用,因为它是来自任何地方的相同路径。为什么它的工作是它指向了正确的道路。很难破译你的“ascii art”文件夹列表,但我猜你只是一个文件夹或什么的... – dandavis

回答

0

变化

"./scripts/c3.css" 

"scripts/c3.css" 
0

你可以参考this question有关文件的HTML中的相对路径。
要引用当前文件夹, ./只适用于非严格文档类型模式,而.适用于两种模式。 所以,你可以尝试"scripts/c3.css"代替"./scripts/c3.css"