私の現在のserver.js:
let express = require('express');
let harp = require('harp');
let path = require('path');
let app = express();
app.use(express.static(__dirname + "/dist"));
app.use(harp.mount(__dirname + "/dist"));
let port = process.env.PORT || 3333;
app.listen(port, () => console.log("Listening on port " + port) );
// ... other routes for data fetching ...
// For browserHistory: https://github.com/reactjs/react-router/blob/1.0.x/docs/guides/basics/Histories.md
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'dist', 'index.html'));
});
でナビゲーションを開始すると、これは正常に機能しmysite.com/
ます。ただし、入力するmySite.com/someRoute
と壊れます。具体的には、コンソールに以下が表示されます。
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:3333/dashboards/styles/normalize-3.0.3.min.css".
...
Uncaught SyntaxError: Unexpected token <
...
私の理解では、これを修正するには、サーバー側のレンダリングも実装する必要があります。それは正確ですか?もしそうなら、そのために必要な最小限の設定は何ですか? 私が見たすべてのガイドは、私が今行きたいと思っているよりもはるかに詳細です.
(依存関係をアップグレードしても問題ありません。) react: 0.14.7 react-router: 1.0.3