2015-06-24 97 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"