こんにちは、reactjsアプリがあります。次のコマンドを使用してプロジェクトをビルドします
npm build
これが私のpackage.json
ファイル:
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"},
ビルド後、ビルドファイルとindex.htmlファイルを含むフォルダーがありますが、この.htmlのすべてのパスは絶対パスなので、相対パスでビルドしたい
たとえば(index.html):今私は持っています:
<script type="text/javascript" src="/static/js/main.af2bdfd5.js"></script> <link href="/static/css/main.097da2df.css" rel="stylesheet"> <link rel="shortcut icon" href="/favicon.ico">
これ欲しい:
<script type="text/javascript" src="./static/js/main.af2bdfd5.js"></script> <link href="./static/css/main.097da2df.css" rel="stylesheet"> <link rel="shortcut icon" href="./favicon.ico">
{
"name": "your-project-name",
"version": "0.1.0",
"homepage": "./",
.
.
.
#your rest of package.json content
}
この実行後npm run buid
これにより、パスが「./」に変更されます
同様の問題が発生し、package.jsonに"homepage": "./"
を設定して解決しました
私はこの解決策をここに見つけました https://github.com/facebook/create-react-app/issues/165
Webpackを使用している場合は、publicPath
を./
に設定してみてください
あなたはそれについてもっと読むことができます ここ 。