Create React App构建后部署至服务器子目录出现空白页求助
部署在子目录的React应用构建后显示空白页问题
已尝试Stack Overflow相关方案但无效。项目部署在服务器子目录,访问地址为https://test.myweb.com/MyApp,开发者控制台显示文件已加载,但仅渲染空的root div,无后续内容。登录功能基于Auth0实现。
项目核心代码
App.js
function App() { return ( <div className='App'> <Routes> <Route index path='/' element={<Login />} /> <Route path='/home' element={<ProtectedRoute children={Home} />} /> </Routes> </div> ) }
index.js
root.render( <div className="flex justify-center bg-black overscroll-contain"> <div className="w-full max-w-[70rem]"> <Auth0Provider domain={domain} clientId={clientId} authorizationParams={{ redirect_uri: window.location.origin, }}> <BrowserRouter> <App /> </BrowserRouter> </Auth0Provider> </div> </div> );
已尝试的无效配置
package.json的homepage设置
尝试以下两种配置均未解决问题:
"homepage": ".""homepage": "https://test.myweb.com/MyApp"
.htaccess配置
RewriteEngine on #for app in subdirectory RewriteBase /test/testingProjects/MyApp Header set Cache-Control "no-cache" RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^.*/test/testingProjects/MyApp.* /test/testingProjects/MyApp/index.html [L] #for root app RewriteBase / Header set Cache-Control "no-cache" RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule . /index.html [L] # DISABLE CACHING <IfModule mod_headers.c> Header set Cache-Control "no-cache, no-store, must-revalidate" Header set Pragma "no-cache" Header set Expires 0 </IfModule> <FilesMatch "\.(html|js)$"> <IfModule mod_expires.c> ExpiresActive Off </IfModule> <IfModule mod_headers.c> FileETag None Header unset ETag Header unset Pragma Header unset Cache-Control Header unset Last-Modified Header set Pragma "no-cache" Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" Header set Expires "Thu, 1 Jan 1970 00:00:00 GMT" </IfModule> </FilesMatch>
需要确认的正确配置
BrowserRouter的正确使用方式- package.json中
homepage属性的正确值 .htaccess文件的正确配置规则- Auth0在子目录部署场景下的特殊配置要求
内容的提问来源于stack exchange,提问作者Germán
相关产品推荐
相关产品推荐

