部署Create React App后遇503错误:Unexpected token '<'求助
检查静态资源路径配置
React构建时如果使用相对路径,需确保package.json里的homepage字段配置正确。比如你的React应用部署在虚拟主机的子目录http://your-domain.com/react-app/,就将homepage设为"./"或者"/react-app/",重新构建后再上传,避免资源请求路径错误返回HTML页面。确认虚拟主机的文件目录结构
把React构建生成的build文件夹内的所有内容(而非整个build文件夹)上传到虚拟主机的网站根目录(比如public_html)。如果是子目录部署,要对应好层级,别直接把build文件夹丢进去导致资源路径嵌套错误。配置主机的URL重写规则(适配SPA路由)
React是单页应用,直接访问自定义路由(比如/about)时,主机可能返回404页面。针对Apache主机,在根目录添加.htaccess文件:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule>如果是Nginx主机,需在配置中添加
try_files $uri $uri/ /index.html;,确保所有路由请求都指向index.html,避免返回404 HTML被浏览器当作JS解析。验证资源请求状态
打开浏览器开发者工具(F12)切换到Network标签,刷新页面查看JS、CSS文件的请求状态:如果显示404,说明资源路径配置有误;如果Response返回的是HTML内容,就是路径或重写规则问题导致的。清除浏览器与主机缓存
旧缓存可能导致资源加载异常,强制刷新页面(Ctrl+Shift+R),或者在虚拟主机面板中清除缓存,确保加载的是最新的构建文件。
内容的提问来源于stack exchange,提问作者Từ Hạo Thiện

