web-dev-qa-db-ja.com

node、express、ejsを使用してcssファイルを含めるにはどうすればよいですか?

https://stackoverflow.com/a/18633827/2063561 の指示に従うことを試みていますが、まだstyles.cssをロードできません。

App.jsから

app.use(express.static(path.join(__dirname, 'public')));

私の.ejsでは、これらの行の両方を試しました

<link rel="stylesheet" type="text/css" href="/css/style.css" />
<link rel="stylesheet" type="text/css" href="/public/css/style.css" />

どちらもcssをロードしません。開発者のコ​​ンソールで、タイプが「text/css」ではなく「text/html」に設定されていることに気付きました。

私の道は

.
./app.js
./public
    /css
        /style.css
32
stealthysnacks

これをserver.jsファイルで使用します

app.use(express.static(__dirname + '/public'));

そして、のようなCSSを追加

<link rel="stylesheet" type="text/css" href="css/style.css" />

必要ない/ CSSのような前に

<link rel="stylesheet" type="text/css" href="/css/style.css" />
74
Arunkumar

メインの.jsファイルで使用:

app.use('/css',express.static(__dirname +'/css'));

メイン.htmlファイルで使用します:

<link rel="stylesheet" type="text/css" href="css/style.css" />

__dirnameの後にconcat +の代わりにコンマを使用しているためにエラーが発生する理由。

2
White Lantern

1.「public」という名前の新しいフォルダーが存在しない場合は作成します。

2.新しく作成された「パブリック」フォルダーの下に「css」という名前の新しいフォルダーを作成します

3. public/cssパスの下にcssファイルを作成します

4. htmlリンクcssで<link rel="stylesheet" type="text/css" href="/css/style.css">

// hrefは前にスラッシュ(/)を使用しているため、「public」を含める必要はありません

5. app.jsに以下を含めます:app.use(express.static('public'));

Boom.It works !!

1
Eric Nderitu

この問題を解決するために次の手順を使用しました

  1. 新しいフォルダー(静的)を作成し、すべてのjsおよびcssファイルをこのフォルダーに移動します。
  2. 次に追加app.use( '/ static'、express.static( 'static'))
  3. <link rel = "stylesheet" type = "text/css" href = "/ static/style.css" />のようなcssを追加します
  4. サーバーを再起動して、変更後の影響を確認します。
0
sonu singh

express.static(__dirname + 'public')を使用している場合は、express.static(__dirname + '/public')であるpublicの前にスラッシュを付けるか、express.static('public')を使用することを忘れないでください。 CSSリンクの変更は行わないでください。

0
Dhananjaya