2016-11-16 30 views
1

この質問は複数回確認されていますが、すべてを検索して試してみたところ、まだ動作しません。私はNodeを初めて使っています。マイファイルのディレクトリは、次のように設定されている:Express ServerがIndex.htmlの静的ファイルを処理していない

io 
-node_modules/ 
-app/ 
    --css 
    --js 
-index.html 
-server.js 

Server.js:

var express = require('express'); 
var app = express(); 
//app.use(express.static(__dirname+'/app/css')); 
app.use('/css', express.static(__dirname+'/app/css')); 
var server=require('http').createServer(app); 
var io=require('socket.io').listen(server); 
users=[]; 
connections=[]; 



//set up server 
server.listen(process.env.PORT || 3001); 
console.log('Server running...'); 

//create a route 
app.get('/',function(req,res){ 
    res.sendFile(__dirname+'/app/index.html'); 
}); 

Index.htmlと

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 

     <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame 
     Remove this if you use the .htaccess --> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

     <title>IO Chat</title> 
     <meta name="description" content=""> 
     <meta name="author" content="Lloyd"> 

     <meta name="viewport" content="width=device-width; initial-scale=1.0"> 

     <link rel="shortcut icon" href="/favicon.ico"> 
     <link rel="apple-touch-icon" href="/apple-touch-icon.png"> 

    <link href="css/main.css" rel="sylesheet"> 
    <link href="css/bootstrap.css" rel="sylesheet"> 
    <!--link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"--> 
    <script src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.5.1/socket.io.js"></script> 
    </head> 

は、だから私は知っておくべきことを理由指標であります.htmlは私のCSSファイルを参照することができないようです。私はapp.use()で複数の可能な組み合わせを試してきましたが、時にはブラウザから直接ファイルにアクセスすることはできますが、うまくいきません。

答えて

2

:クライアントで

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

<link href="/main.css" rel="stylesheet"> 
<link href="/bootstrap.css" rel="stylesheet"> 
+0

いいえ、何もありません。 Nada :(CSSファイル自体にアクセスできたら、インデックスファイルは正しく動作しないので、私は 'app.get()'を設定していると思います。 – Lloydinator

+0

いつでもファイルにアクセスできます。 – mk12ok

+0

正しいディレクトリ構造を見せてくれるのですか?あなたは '__dirname + '/を絶対パスで送信しましたか?あなたは本当に正しい動作をしていないのでしょうか? app/index.html " - それは大丈夫ですか?あなたの情報から私はむしろ' __dirname + "/index.html" – mk12ok

0

私はこのようにそれを試してみてくださいあなたがapp.use間違っ

を使用していると思う:

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

このルートは名前の静的なディレクトリにcss/...に呼び出します。サーバ内の

+0

私もそう思います。しかし、まだ動作していません。今は 'app.use( '/ css'、express.static(__ dirname + '/ app/css'));'であり、localhost:3001/css/main.cssに行くことでCSSファイルにアクセスすることはできますが、 index.htmlはそれを参照しません。それはちょっと困惑している。 – Lloydinator

関連する問題