2017-03-20 5 views
0

私はWebプログラマのルーキーです。私はボタンを押すと私に別のHTMLファイルを開きます。私はエクスプレスを使用しますので、私は何かをしようとしましたこの:明示的にルートを変更する方法

var express = require('express'); 
var app = express(); 
var path = require('path'); 

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

app.get('/', function(req, res){ 
    res.sendFile(path.join(__dirname, "index.html")); 
}); 

app.get('/chat', function(req, res){ 
    res.sendFile(path.join(__dirname, "chat.html")); 
}); 

var server = app.listen(8000, function(req, res){ 
    var host = server.address().address; 
    var port = server.address().port; 
    console.log("server in ascolto su %s%s", host, port); 
}); 

が、私は「\チャット」 、なぜ私のコンソールに印刷聞く「ascolto SU :: 8080におけるサーバ」のはconsole.logをオンにしてないのか分かりません私のIPを印刷しますか?

+1

サーバがローカルホスト上で開始された、またはIPを開いてみてください127.0.0.1' '一般的である' localhostを:8080'または '127.0.0.1:8080'ブラウザインチそれは 'index.html'を開きます。同様に 'localhost:8080/chat'が' chat.html'を開きます – gargsms

+0

仮想マシン上でnodejsを実行していますか? –

+0

@OmriLuzonいいえ、なぜですか? –

答えて

0

あなたのIPアドレスが表示されない理由はわからないが、あなたはおそらくpublicディレクトリに移動してindex.htmlchat.htmlを表示することができます。

files/ 
public/ 
    chat.html 
    index.html 
    css/ 
    app.css 
    js/ 
    app.js 

あなたがhttp://localhost:8000/index.htmlに行くことによってそれらを表示することができ、またはhttp://localhost:8000/chat.html ypuがすでにpublicディレクトリから静的資産を提供しているExpressサーバに語ったので、彼らのためにルートを追加することなく:

app.use(express.static(path.join(__dirname, "public"))); 
+0

私はそれを知っていますが、ボタンでURLをどのように切り替えるか分かりません。$(button).onclick(function(){open(chat.html)}); –

0

は、私が使用して解決:

window.location.replace(chat); 
+0

最新のブラウザではあなたのやり方はうまくいきますが、ブラウザ間のサポートには 'window.location.href =" http://example.com/; "が推奨されています –

+0

いいえ、試しましたが、うまくいきません –

関連する問題