2017-03-07 12 views
1

を得ていません。
localhost:3000/user/loginでアクセスできますが、cssを含む静的ファイルはロードされていません。サブルートは、私は、このディレクトリ構造私は/ログインおよび/レジスタのルーティングを持って</p> <p><a href="https://i.stack.imgur.com/oRzwE.png" rel="nofollow noreferrer">REFERENCE SCREENSHOT</a></p> <p>インサイドusers.jsを持っている静的ファイルのExpressJS

どのようにすべてのサブルートに静的ファイルを提供できますか。

+0

静的ファイルはstored.youが[リンク](HTTPSを参照することができるされているディレクトリへの組み込みミドルウェア機能express.static及びポイントを使用するためのリンク以下を参照:/を/expressjs.com/en/starter/static-files.html)例:app.use(express.static( 'public')) –

+0

私はそれを使用しました。 – Vishnudev

+0

静的ファイルはどこに保存されていますか? –

答えて

0

は、フォルダの相対パスが続く__dirname後に末尾にスラッシュを追加します。

パスをフォルダパスで.または..に正規化するパスを使用します。

var express = require('express'); 
var app = express(); 
var path = require('path'); 
app.use(express.static(path.join(__dirname + '/../public'))); 

複数の例https://millermedeiros.github.io/mdoc/examples/node_api/doc/path.html#path.normalize

0

あなたのページは別のレベルの深いところにありますので、別のカップルドットを追加する必要があります。

前:<link rel="stylesheet" href="stylesheets/style.css">

後:<link rel="stylesheet" href="../stylesheets/style.css">

+0

私は静的ファイルを提供するためにこれを使用します:app.use(express.static(path.join(__ dirname、 'public')))); – Vishnudev

+0

@Vishnudevあなたのビュー(html/pug/ejs)でこれらのアセットを使用する場合は、パスを変更する必要があります。私はそれをより明確にするために私の答えを編集しました。 –

+0

ここでの問題はexpressを使用しており、CSSをロードするメインページは1つだけです。だから、私があなたの言うことをすると、私の/ユーザー/ログイン(マルチレベルルート)がCSSを取得しているが、/ home(シングルレベルルート)を持っているユーザーは – Vishnudev

関連する問題

 関連する問題