49

私のディレクトリ設定は次のようになります:

app.js
vews
  home.html
  css
    style.css

私のホームファイルは次のようなものです:

<html>
<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>

</body>
</html>

私のアプリは次のようなものです:

var io   = require('socket.io'),
    url  = require('url'),
    sys  = require('sys'),
    express = require('express'),
    http=require('http');

var app = express();
var server = http.createServer(app);
var socket = io.listen(server);

app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');

app.get('/', function(req, res){
    res.render('home');
});

app.listen(4000);
sys.puts('server running ' + 'now ' + Date.now());

問題は、アプリを実行すると、css ファイルを読み込めないことです。

4

3 に答える 3

126

.cssファイルは静的ファイルであるため、クライアントに提供する必要があります。ただし、静的ファイルをエクスプレスミドルウェアとして提供することはありません。次のミドルウェアをエクスプレスアプリに追加しcss、ディレクトリの下にフォルダを移動しますpublic(作成する必要がありますpublic directory

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

したがって、最終的なディレクトリ構造は次のようになります。

app.js
views
  home.html
public
  css
    style.css

pathそして、モジュールを要求することを忘れないでください

 var path = require('path')
于 2012-11-15T11:10:33.357 に答える
-3

これを試して:

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

これで問題が解決する場合があります。

于 2012-11-15T11:07:38.163 に答える