2017-06-01 10 views
0

私はGulpからWebpack 2にプロジェクトを移行しています。これはクライアントサーバアプリケーションです(expressを使用しています)。私は私のサーバーにWebPACKのミドルウェアを含める必要がありました、また、このビットを追加しました:Webpack dev serverが動作していない 'sub'ページを再ロード

app.get('*', function (req, res) { 
    res.sendFile(path.normalize(`${__dirname}/../client/index.html`)); 
}); 

、これに伴う問題は、アプリケーションの[バージョン情報]をクリックした場合、今、物事は、正常に動作ルータは、サブをロード反応するということであり、ページ、だからすべての大丈夫。しかし、それらのサブページのいずれかをリロードしようとすると(例えば、localhost:3000/accountなど)、空白のページが表示されます。なぜなら、この状況ではレンダリングされないindex.htmlが提供されているからです(理由はわかりませんが、表示されているページのソースが表示され、index.htmlです) 。私は、devAサーバの設定でhistoryApiFallbackをインクルードしようとしましたが、助けにはなりませんでした)。

+0

それはリロードで、全く同じindex.htmlにはないように思え-scenarioスクリプトビットが欠けているので、なぜ空白のページが表示されるのか説明しています。今私はスクリプトタグが省略されている理由を理解する必要があります... – Janos

答えて

0

私は、Webサーバーによってコンパイルされたものとは対照的に、devserverが生のhtmlファイルを戻していたということに気付きました。手にこれで私は別のグーグルを行なったし、devserverを設定するためのより良い方法を見つけました:

app.use('*', function (req, res, next) { 
    var filename = path.join(compiler.outputPath,'index.html'); 
    compiler.outputFileSystem.readFile(filename, function(err, result){ 
    if (err) { 
     return next(err); 
    } 
    res.set('content-type','text/html'); 
    res.send(result); 
    res.end(); 
    }); 
}); 

(ここを参照してください:https://github.com/jantimon/html-webpack-plugin/issues/145)を

関連する問題