2017-09-25 35 views
1

在具有express的node.js中,所有靜態內容都放置在/ public文件夾中。有人能幫助我理解爲什麼我們需要將它特別放置在公共文件夾中嗎?如果我想在'views'文件夾中創建一個名爲'static'的文件夾並保留其中的所有圖像,樣式和腳本文件,該怎麼辦?因爲我想在一個文件夾下保留與視圖相關的所有內容。如果這不是構建項目的好方法,請幫助我理解背後的原因。爲什麼/在node.js中靜態內容的公用文件夾

回答

4

你可以把你的內容放在你想要在服務器上的任何文件夾中。重要的是如何設置您的快速路線來提供公共內容。你可以命名本地服務器文件夾/public/static或任何你想要的,你可以把它放在你想要的文件夾層次結構的任何地方(如在某些項目目錄中)。您只需在express.static()中間件中設置路徑,以匹配將內容放在服務器上的位置,以便快速知道在哪裏查找以匹配給定的傳入請求。

+0

順便說一句,一個不應該從節點/快遞服務器提供靜態文件,但使用CDN或至少使用像Apache或Nginx的網絡服務器來提供這些文件。 –

+1

@MarufManiruzzaman - 這是一種荒謬的概括。也許如果你正在部署一個大規模的多服務器部署,你會考慮爲CDN付費或者將其他基礎設施部署到服務器靜態文件中,但是很多服務器不需要增加費用或複雜性以及單個節點。 js服務器或一個簡單的node.js集羣在一臺服務器上就足夠了。所以,你的評論在更大的範圍內是有意義的,但不是一般的。而且,與大多數情況一樣,在確實需要它之前,不應該增加額外的複雜性或費用。 – jfriend00

相關問題