2017-11-27 8 views
1

私が作成しているAPIのCSSを表示するのにブラウザを取得できません。私は他のユーザーから聞いたのと同じ質問を見てきましたが、私の状況に役立つ回答は見つかりませんでした。私がページに行くと、スタイルシートがリンクされているにもかかわらず、表示されているのはすべて「Hello world」です。私はページを閲覧すると、私はエラーを取得する:リソースの読み込みに失敗しました:サーバが404のステータスで応答しました。(見つからない)css

const express = require('express'); 
const app = express(); 
const port = process.env.PORT || 8080; 

app.use(express.static(__dirname + '/public')); 
const router = require('./routes/index.js'); 
app.use('/',router); 

app.listen(port); 

console.log('connected to port: ' + port); 

index.htmlを

<!DOCTYPE html> 
<html> 
<head> 
<link href="../public/css/main.css" rel="stylesheet"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 

</head> 
<body> 
    <p>Hello World!</p> 
</body> 

Failed to load resource: the server responded with a status of 404 (Not Found)

ここに私のアプリケーションの構造は

. 
./public 
    /css 
     /main.css 
./routes 
    /index.js 
./views 
    /index.html 
./server.js 

server.jsです

index.js

var express = require('express'); 
var path = require('path'); 
var router = express.Router(); 
module.exports = router; 

router.get('/', function(req,res){ 
res.sendFile(path.join(__dirname,'../views/index.html')); 
}); 
+0

あなたは 'みました。.. /../ public/css/main.css'または '/ public/css/main.css'? – agrm

+0

はい、いずれも動作しません。最初は、同じエラーが出ます。 2番目を試してみると、> GET http:// localhost:8080/public/css/main.css net :: ERR_ABORTED –

+0

ファイルツリーの構造は何ですか? – DaFois

答えて

0

あなたはとてもあなたが使用する必要があり/アプリのルートで公共

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

をパブリックディレクトリを定義している:

./css/main.css 
+1

私はすでにこれを試しました、同じエラーを返します –

+0

私の失敗、publicを使わない、。/ css –

+0

これはうまくいきました!そのような単純な修正は、私がこれをキャッチしなかったと信じることはできません。ホンサ助けてくれてありがとう! –

関連する問題