React build tidak akan berfungsi dengan betul tanpa menambah index.html dalam URL
P粉216203545
2023-09-01 11:25:58
<p>Saya menggunakan penghalaan cincang untuk aplikasi React JS. Aplikasi ini berjalan dengan baik dalam persekitaran tempatan. </p>
<p>Sebagai contoh https://stackoverflow.com/posts/ sepatutnya menjadi URL aplikasi tetapi ia tidak berfungsi dan saya perlu menggunakan https://stackoverflow.com/posts/index.html untuk membuatnya kerja. </p>
<p>Selepas digunakan, saya perasan bahawa ia sedang memuat turun fail kosong bernama "<strong>muat turun</strong>" dan bukannya menyediakan fail lalai <strong>index.html</strong> Untuk menjalankan binaan pada pelayan, saya menggunakan seni bina S3 dan CloudFront. </p>
<p>Sekarang, saya tidak dapat mengetahui sama ada penghalaan HASH tidak berfungsi atau jika terdapat sesuatu yang tidak kena dengan penggunaan AWS. </p>
<p>Coretan kod menggunakan React JS</p>
<pre class="brush:php;toolbar:false;">import React daripada 'react';
import ReactDOM daripada 'react-dom';
import { Provider } daripada 'react-redux';
import kedai daripada './redux/store';
import Apl daripada './App';
import reportWebVitals daripada './reportWebVitals';
import { HashRouter } daripada 'react-router-dom/cjs/react-router-dom';
ReactDOM.render(
<Kedai pembekal={kedai}>
<HashRouter>
<Apl />
</HashRouter>
</Pembekal>
document.getElementById('root')
);</pra>
<p><strong>Sebahagian daripada kandungan pakej.json</strong></p>
<pre class="brush:php;toolbar:false;">{
"nama": "loremipsum",
"versi": "0.1.0",
"peribadi": benar,
"laman utama": "/loremipsum/"
}</pre></p>
Adakah ia perlu digunakan pada subdirektori? Jika ya, anda perlu menukar fail
package.json
文件的内容,以强制相对于index.html
untuk menyediakan sumber.Dengan ini kami akan dapat menjadi tuan rumah
http://www.foo
中的应用程序移动到http://www.foo/relativepath
甚至https://www.foo/bar1/bar2/
tanpa membina semula.Anda juga mesti mengatasi
PUBLIC_URL
untuk memasukkan domain dan subdirektori tempat anda ingin mengehos fail anda