私はAPIにExpressを使用しています。 appという名前のフォルダーとserverという名前の別のフォルダーがあります。 appはクライアントアプリで、create-react-appをボイラープレートとして使用していますが、サーバーはAPIのexpress.jsアプリです。
サーバーのapp.jsファイルに、私は書きました
app.get("*", function (req, res) {
res.sendFile(path.resolve(__dirname, '../app/build/index.html'));
})
しかし、APIエンドポイントを呼び出すと、
このアプリを実行するには、JavaScriptを有効にする必要があります。
レスポンスで。よくわかりません;どうしましたか?
ビルドディレクトリには、index.htmlだけのファイルがあります。また、build/js/main.buildNumber.jsとbuild/css/main.buildNumber.cssもあります。したがって、フロントエンドが https://yourdomain.com/css/main.buildNumber.js にリクエストを送信すると、index.htmlnotmain.js。
ビルドフォルダーのコンテンツは、express.staticで静的に提供します
app.use('/', express.static(__dirname + '/'));
または、「サーバー」ノードモジュールを調べてアプリをホストすることもできます。これは、react-routerとうまく連携します。 npm i -g serve
、次にcd build
、次にserve . --single -p 5000
。これにより、ポート5000でアプリが提供されます。