2016-01-04 46 views
0

這太奇怪了,我的本地路徑如何工作。例如像這裏是我的層次結構是什麼樣子:Node.js - Express:奇怪的本地路徑

公共> CSS> bootstrap.css

公共> JS> bootstrap.js

模板>佈局> page.ejs(默認模板任何頁面)

模板> index.ejs等.ejs模板

所以我page.ejs裏面是我的風格和腳本鏈接:

<link rel="stylesheet" href="css/bootstrap.css"/> 

<script src="js/jquery.js"></script> 
<script src="js/bootstrap.js"></script> 

它出於某種原因適用於我的index.js。每當我進入網站並查看源代碼時,請點擊鏈接,所有鏈接都已找到並且很好。每當我的example.ejs文件發生同樣的情況時 - 這些鏈接都沒有找到,因爲它是從源文件的/ players /目錄中調用的。

因此,例如,一個電話從「/」頁面這些文件看起來像:

GET /css/bootstrap.css 304 3.155 ms - - 
GET /js/jquery.js 304 3.748 ms - - 
GET /js/bootstrap.js 304 3.714 ms - - 

但這一呼聲來自相同的模板相同的文件從/播放器被稱爲/像這樣:

GET /players/css/bootstrap.css 404 1.436 ms - 38 
GET /players/js/jquery.js 404 1.197 ms - 33 
GET /players/js/bootstrap.js 404 1.151 ms - 36 

很顯然他們是用標籤404,因爲他們都沒有發現。所以我的問題是:

如何使用我的所有路徑?

我已經試過絕對路徑這些文件 - 仍然沒有找到。我曾嘗試過考慮某種動態腳本,但我仍然不確定它是如何工作的。

出於某種原因,它增加了自己的路徑文件,而不是使用模板的路徑......唉,我甚至不知道該如何解釋,但我覺得你的想法。我認爲「公共」目錄綁定到路由,這就是爲什麼我不需要將它包含到從索引頁請求的文件中,但其他文件又如何?

謝謝你,對不起,一跛的問題!

回答

1
<script src="js/jquery.js"></script> 
<script src="js/bootstrap.js"></script> 

應該是這樣的:

<script src="/js/jquery.js"></script> 
<script src="/js/bootstrap.js"></script> 

否則,瀏覽器將包括相對於當前URL的腳本。

+0

我可以發誓我做到了...但無論如何,愚蠢的我,謝謝你! – Micard