2016-10-21 7 views
1

私はreact/webpackを使用してローカル8080で開発サーバーを実行しています。これは私がまだ理解していないもので、前にこの問題にぶつかりました。ブートストラップはHTMLでリンクされており、うまく動作しています。しかし、私がスタイルシートをリンクすると、コンソールは自分のスタイルシートに404のエラーが見つかりません。CSSスタイルシートがサーバー上に見つかりませんでしたか?

は、ここに私のHTMLの定型である:stylesheet.css:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Weather App</title> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" /> 
    <link rel="stylesheet" href="public/stylesheet.css" /> 
</head> 
<body> 
    <div id="root"> 

    </div> 
</body> 
</html> 

Index.htmlととIndex.jsがルートレベルにあり、その一つだけのファイルが含まれている/公開ディレクトリは、ある

ローカルサーバーを実行しているときにstylesheet.cssがブラウザに読み込まれないのはなぜですか?これを修正するにはどうすればよいですか。ありがとう。

+1

する必要がありますが、 '公開/ stylesheet.css'を試してみたのですか? (大文字P) - 一部のサーバー(IISを見ている)によって大文字と小文字が区別されます – ochi

+0

ありがとうございました!上記の例のように私は公開を試みましたが、PublicディレクトリはプロジェクトのTRUEルートにはありませんでした。それはAppディレクトリ内にありました。パブリックディレクトリを真のルート(webpack configsとノードモジュールを使用)に移動して動作させました! – user7024499

+0

これはbtwが動作する理由はありますか?ブラウザはパブリックフォルダが本当のルートディレクトリにあると予想していますか? – user7024499

答えて

2

ので

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

などの特急とパブリックフォルダアウトあなたの共有、あなたがソースでの公開」を持っている必要はありません。言い換えれば

この

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

この

<link rel="stylesheet" href="/stylesheet.css" />

関連する問題