React应用部署至DigitalOcean App Service生产环境出现JS启用提示错误
检查Vite的
base路径配置
打开vite.config.js,确认base参数设置正确。如果应用部署在根域名下,设置base: '/'即可;如果是子路径(比如https://yourapp.com/myapp/),要把base设为'/myapp/'。执行yarn build后,查看dist/index.html里的JS、CSS资源引用路径是否和部署路径匹配,避免出现资源404的情况。核对DigitalOcean的部署配置
在DigitalOcean App Service的应用设置里,确认Build Command是yarn build,Output Directory指定为dist(Vite默认的构建产物目录)。同时检查代码拉取的分支是否正确,构建日志里有没有隐藏的报错信息。开启Single Page App路由支持
React是单页应用,直接访问子路由或刷新页面会导致服务器找不到对应文件。在DigitalOcean的应用设置中,找到Static Site相关选项,开启Single Page App模式,让服务器把所有路由请求都转发到index.html,确保React路由正常工作。查看浏览器控制台的具体错误
按F12打开开发者工具,切换到Console标签页,查看是否有JS加载失败、资源路径错误或者语法报错。提示"You need to enable JavaScript to run this app"很多时候只是表面现象,实际是JS文件未正确加载导致的。本地验证构建产物
本地执行yarn build生成dist目录后,用serve dist命令(先通过yarn global add serve安装serve工具)启动本地静态服务器,测试应用是否能正常运行。如果本地正常,说明构建产物没问题,问题出在部署配置上;如果本地也有问题,就排查本地构建的问题。
内容的提问来源于stack exchange,提问作者Eve

