簡體   English   中英

快速路由“ /”

[英]Express Routing “/”

明確地說,在定義索引路由時,我使用“ /”(有效),但是,我試圖使根目錄可配置,因此嘗試了以下操作:

var root = ""; // can be whatever, but is sometimes empty
app.get(path.join(root, ""), ...);

當我啟動服務器(並導航到“索引”)時,出現錯誤; Cannot GET / ”,但這不是“ /”是什么嗎? 它們有何不同?

path.join("", "")不起作用時,為什么"/"有效?

path.join("", "")返回. 因此,這等效於執行app.get('.', ...); /請求不匹配。

您可以添加一個檢查,以使根始終以前導斜杠開頭:

var root = ""; // can be whatever, but is sometimes empty
if (root[0] !== '/')
  root = '/' + root;
app.get(path.join(root, ""), ...);

應該注意的一件事是當前path.join()將使用特定於平台的路徑定界符行為。 因此,如果您使用的是Windows,則/將轉換為\\ 例如,在Windows上, path.join('/', '')將返回\\ 盡管節點v0.12可以跨平台訪問特定於平台的路徑方法(例如,您可以在Windows上訪問* nix路徑函數)。

暫無
暫無

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

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