2017-01-11 9 views
0

私はいくつかのHTMLページを表示するためにエクスプレスハンドルバーを使用しています。ブラウザが私がリンクしているCSSファイルを見つけられません。 これは私のサーバーのファイルは次のようになります。express-handlebarsを使用しているcssファイルが見つかりません

const express = require('express'); 
const exphbs = require('express-handlebars'); 
const path = require('path'); 
const _ = require('lodash'); 
const bodyParser = require('body-parser'); 
const socketIO = require('socket.io'); 
const http = require('http'); 
var static = require('node-static'); 

var {mongoose} = require('./db/mongoose.js'); 

var {User} = require('./models/user'); 

const publicPath = path.join(__dirname, '../public'); 
var app = express(); 
app.engine('handlebars', exphbs({defaultLayout: 'main'})); 
app.set('view engine', 'handlebars'); 
var server = http.createServer(app); 
var io = socketIO(server); 
const port = process.env.PORT || 3000; 

app.use('/', express.static(publicPath)); 
app.use(bodyParser.json()); 

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

そして、これは私が私のメインのレイアウト上のURLをフォーマットしてきた方法です:

<link rel="stylesheet" href="views/assets/bootstrap/css/bootstrap.min.css"> 

資産フォルダがビューフォルダのルートにあります。これをどうすれば解決できますか?

編集:This is my directory structure.

+0

の変化hrefあなたは完全なディレクトリ構造を共有することはできますか?また、 'href'の相対パスはどうですか? –

+0

私は自分のディレクトリ構造を投稿に追加しました。 'href ="/assets/bootstrap/css/bootstrap.min.css "'のような相対パスも試しましたが、これはうまくいきませんでした。 –

答えて

0
はあなたの静的なパスを変更し

。また

const publicPath = path.join(__dirname, '../views'); 

htmlファイル

<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css"> 
関連する問題