時には、このような特殊な場合のために、それはあなた自身のサーバー書くのは簡単です:
'use strict';
var host = '127.0.0.1', port = 3333;
var path = require('path');
var app = require('express')();
app.get('*', (req, res) => res.sendFile(path.join(__dirname, 'index.html')));
app.listen(port,() => console.log(`Listening on http://${host}:${port}/`));
をしかし、すべてのパスがindex.html
で、その後index.html
を返す場合は、画像のようなものを参照することができないことに注意してください、スタイルシートまたはクライアントサイドのJavaScriptファイルです。上記のコードだけでなく、すべての要求に同じ応答(index.html
)を送信するソリューションを使用してください。
あなたは、いくつかの例外を作成する必要があり、それは、Expressに難しいことではありません。
'use strict';
var host = '127.0.0.1', port = 3333;
var path = require('path');
var app = require('express')();
app.get('/x.png', (req, res) => res.sendFile(path.join(__dirname, 'x.png')));
app.get('*', (req, res) => res.sendFile(path.join(__dirname, 'index.html')));
app.listen(port,() => console.log(`Listening on http://${host}:${port}/`));
ただ、最初にマッチしたルートが特定の要求のために使用されるため、例外がトップに行かなければならないことに注意してください。
もちろん、このコードを保存する必要があります。 app.js
に、Expressのインストール:
npm install express
をし、それを起動します(あなたが見ることができるようにどちらか、しかしその複雑ではない)それは準備ができて溶液を用いたよりも複雑ですが、あなたは多くを持っている
node app.js
どのように正確に動作させるかに柔軟性を持たせることができます。これは、ログを追加することも簡単だなど
出典
2016-09-28 10:26:21
rsp
'-Pまたは--proxyプロキシ与えられたURLにローカルで解決できないすべての要求をするものではありませんでした。例:-P http:// someurl.com' => 'http-server -P http:// localhost:8080 /'を試すことができますか? – DrakaSAN
[私の答え](http://stackoverflow.com/questions/39744309/node-http-server-to-respond-with-index-html-to-any-request/39744827#39744827)のソリューションがうまくいったのですあなたのために? – rsp