2017-09-25 13 views
1

expressのnode.jsではすべての静的コンテンツが/ publicフォルダに置かれます。なぜパブリックフォルダに配置する必要があるのか​​理解できるように助けてくれますか? 'views'フォルダ内に 'static'という名前のフォルダを作成し、その中にすべての画像、スタイル、スクリプトファイルを保存したい場合はどうすればいいですか?私は1つのフォルダの下にビューに関連するすべてのものを保持したいので。それがプロジェクトを構造化する良い方法でない場合は、それの背後にある理由を理解するのを手伝ってください。node.jsの静的コンテンツ用/ publicフォルダ

答えて

4

コンテンツをサーバー上の任意のフォルダに置くことができます。重要なのは、公共のコンテンツを提供するためにExpressルートを設定する方法です。ローカルサーバーフォルダ/publicまたは/staticなどの名前を任意の名前にして、フォルダ階層の任意の場所に置くことができます(プロジェクトディレクトリのように)。 express.static()ミドルウェアのパスをサーバー上のどこに配置するかを一致させるだけで、指定された受信要求に一致するかどうかを明示的に知ることができます。

+0

ところで、node/expressサーバから静的ファイルを提供するのではなく、CDNを使用するか、少なくともapacheやnginxのようなWebサーバを使ってこれらのファイルを提供してください。 –

+1

@MarufManiruzzaman - それはちょっとばかげた一般化です。おそらく、大規模なマルチサーバー展開を展開する場合は、CDNの支払いや他のインフラストラクチャをサーバーの静的ファイルに展開することについて考えるでしょうが、多くのサーバーは、追加された費用や複雑さ、単一のノードを必要としません。 1つのサーバー上のjsサーバーまたは単純なnode.jsクラスターの方が十分です。だから、あなたのコメントは、より大きなスケールではある意味がありますが、一般的には意味がありません。また、ほとんどの場合と同様に、その複雑さや費用は、必要性が実証されるまで追加しないでください。 – jfriend00

関連する問題