web-dev-qa-db-ja.com

create-react-appに「このアプリを実行するにはJavaScriptを有効にする必要があります」というエラーが表示されます。

私は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を有効にする必要があります。

レスポンスで。よくわかりません;どうしましたか?

16
Jenny Mok

ビルドディレクトリには、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でアプリが提供されます。

1
tanner burton