Apache WAMP/XAMPPサーバーにビルドをデプロイする方法は?
create-react-app
で作成されたアプリがあり、このアプリケーションに2つのページがあります
yarn start
またはnpm start
を実行すると、正常に機能し、URLナビゲーションまたはボタンクリックですべてのページが正しくレンダリングされます。
ビルドコマンドを実行しました
npm run build
static
フォルダーにすべてのbuild
ファイルとindex.html
ファイルを生成しています。
このビルドフォルダーのコンテンツをwww
フォルダーのwamp
に移動し、ホームページのみを表示するURL http://localhost
で実行します。次のページは404 not found error
を示しています
しかし、npmコマンドのserve
モジュールを実行しているときは、http://localhost:5000
で正常に動作しています。
ビルドを提供
これを解決する方法を教えてください
アプリケーションをWAMPサーバーにデプロイする必要があります。すべて静的ページであり、残りのAPIコンテンツはありません。
デフォルトでは、reactプロジェクトは、サーバーの「www」(ルート)フォルダーに直接デプロイされるように構築されています。したがって、プロジェクトの「build」フォルダーの内容をWAMPの「www」フォルダーにコピーしてから、ブラウザーで http:// localhost / に移動できます。プロジェクトが表示されます。
または、WAMPルートサブフォルダーを使用することもできます。 「www/react /」。この場合、package.jsonファイルにhomepageキーを追加します。
"homepage": "http://localhost/react/",
次に、プロジェクトを再度ビルドします。
npm run build
最後に、プロジェクトの「build」フォルダーの内容を「www/react /」にコピーします。プロジェクトを表示するには、 http:// localhost/react / にアクセスしてください。
詳細については、 Apache WebサーバーにReactアプリをデプロイする方法
ビルド用にホームページを構成する必要があります。
にbasename属性を設定します。
<Router basename={'/directory-name'}>
<Route path='/' component={Home} />
</Router>
directory-nameは、xampphtdocsフォルダーの下のフォルダー名です。