2016-03-20 13 views
0

この質問が別の場所で答えると申し訳ありません。Expressがパラメータ付きの静的なhtmlファイルを送信するときにパスが正しくない

urlにパラメータが含まれている場合、静的なhtmlファイルを送信します。 たとえば、http://localhost:3000/detail.html/1ですが、パスの種類が乱雑です。 ここに私の問題があります。 私はapp.use(express.static(path.join(__ dirname、 'public'))));)を使用しました。すべての静的ファイルのため
はこのhttp://localhost:3000/detail.html/:id要求のために、私は私がブラウザでdetail.htmlページを得ることができますが、すべて私のCSSリンクとdetail.htmlの画像srcが相対的なもので

app.get('/detail.html/:id', function(req, res){ 
var options = { 
root: __dirname + '/public/' 


}; 

res.sendFile( 'detail.html',options); 
}); 

を使用 、パラメータなしでリクエストしますリクエストは次のようになりました: /css/custom.cssではなく、/detail.html/css/custom.cssになりました。

私のファイル構造はすべてパブリックフォルダにあり、CSSファイルはpublic/cssフォルダにあります。

どこが間違っていますか? とどのように問題を解決する必要がありますか? ありがとう!

答えて

0

あなたのURLでごindex.htmlと、あなたのexpressjsコードでルートを追加するようdetail.html、その後

app.get('/', function (req, res) { 
    res.sendfile('__dirname + '/public/' + index.html); 
}) 

、あなたが持つことはありません、HTMLの静的ファイルの名前を変更することができますし、物事が

に動作します
関連する問題