2012-07-07 6 views
6

私はnode.jsにウェブサイトを作成して表現しました。node.js/expressの相対パスを扱うにはどうすればいいですか?

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

良い方法などがあります:私はこのような何かを書いたので、私はhttp://localhost/app/を開くと

$HTTP["url"] =~ "^/app/" { 
    proxy.server = ("" => ((
           "host" => "127.0.0.1", 
           "port" => 3000 
          )) 
       ) 
} 

は私が取得エラー404:今、私はサブディレクトリでのNode.jsサーバーを使用するlighttpdのを構成しこれらの行を次のように変更します。

var relPath = '/app'; 

app.get(relPath + '/', function (req, res){ 
    res.render('index'); 
}); 

?ライアンは解決策をコメントしたよう

+5

'app.use( '/ app'、app.router);'このトリックを行う可能性があります。 –

+0

私はプロキシの背後で実行していませんが、それは実際にトリックを行います。 – ebohlman

+0

プロキシは、パスを変更しない限り重要ではありません。 –

答えて

4

は次のとおりです。

app.use('/app', app.router); 

あなたが例えば使用している場合express.staticまたはあなたもapp.useパスを伝える必要がありexpress.favicon:

app.use('/app', express.favicon(__dirname + '/public/images/favicon.ico')); 
app.use('/app', express.static(__dirname + '/public')); 

はあなたのhtmlに設定されている各内部リンクの前に「/アプリ」と書くことを忘れないでください。

+0

これはexpress 4.xではこれ以上動作しません – javiertoledos

関連する問題