簡體   English   中英

Node.js-Express:奇怪的本地路徑

[英]Node.js - Express: Weird local paths

我的本地路徑如何工作太奇怪了。 例如,這是我的層次結構:

公共> 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 - -

但是從/ players /的相同模板中調用相同文件的調用如下:

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。 所以我的問題是:

如何處理所有路徑?

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

由於某種原因,它在文件中添加了自己的路徑,而不使用模板的路徑。。。呃,我什至不知道如何解釋它,但我想您知道了。 我認為“公共”目錄與路由相關聯,因此,我不需要將其包括在索引頁所請求的文件中,但是其他文件又如何呢?

謝謝,很抱歉提出一個la腳的問題!

<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的腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM