Express官方文檔里的靜態文件部分有一句話
這兩個都是設置開放靜態資源目錄,那底下這句作用是什么?先翻譯一下
然而,但是,您提供給express.static函數的路徑是相對於您啟動節點進程的目錄的。 如果您從另一個目錄運行Express App,則使用要提供服務的目錄的絕對路徑更為安全:
可以這樣理解,第一個是相對路徑寫法,而第二個是絕對路徑寫法。
__dirname為絕對路徑
path.join()為拼接路徑語法
例如:
在其他目錄下(即項目目錄外)運行時語法為
此時如果是第一種寫法,則會獲取失敗,因為這種寫法為相對路徑寫法,即
根據當前運行該指令所在的文件路徑去尋找
.