2017-01-11 8 views
1

node.js + express.js + react.jsを使用してアプリケーションをビルドしていて、webpackを使用してクライアントサイドコードをコンパイルしています。私が抱えている問題は、クライアント側のコードがwebpackでコンパイルされ、私のアプリケーションを実行した後で、ページを更新できないということです。webpackでコンパイルしたときにプロダクションでページを更新できません

マイコード:

私のWebPACKは/dist/index.htmlに私のファイルをコンパイルし、私のアプリは、ポート3000上で実行し、すべてのクライアント側のルートは/adminが付いています。

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

私はブラウザでlocalhost:3000に移動し、リンクの周りをクリックすると、アプリが正常に動作します。私は、一例として、aboutページに行けばしかし、:

localhost:3000/admin/about

そして私はリフレッシュ、私はエラーCannot GET /admin/aboutを取得します。

ので、私のソリューションは、すべての「キャッチを含めるようにしたものをレンダリングするために知っていない私は、理由は私の急行ルータだけ/ルートを知っているであると考えている...ので、私は/admin/aboutのようなルート上に直接更新すると、表現"経路:

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

しかし、これは私にError: Failed to lookup view "dist/index.html"エラーを与え続けます。

誰かが助けることができますか?

ありがとうございます!

答えて

0

の研究の後、私は解決策がres.renderしかしres.sendFileではありませんが見つかりました:

res.sendFile(path.join(__dirname, '/dist/index.html'));

関連する問題