如何在搭载cPanel的线上服务器启动React应用?
React应用部署到cPanel服务器的正确步骤
你直接上传源码到cPanel肯定不行,因为npm start是本地开发用的命令,线上服务器不会帮你启动开发服务。得按下面的步骤来:
第一步:本地生成生产构建包
在你本地的React项目根目录里,打开终端执行:
npm run build
执行完后,项目里会多出一个build文件夹,里面是压缩优化好的静态文件(这才是要传到线上的内容)。
第二步:上传构建文件到cPanel
- 登录你的cPanel后台,打开「文件管理器」
- 找到你域名对应的根目录(一般是
public_html),如果要部署到reactlearn子目录,就先创建这个文件夹 - 把
build文件夹里的所有文件和子文件夹(不是整个build文件夹)上传到reactlearn目录下
第三步:配置路由重写(如果用了React Router)
如果你的应用用了React Router做页面跳转,直接访问子路由刷新会出现404,这时候要在reactlearn目录里创建一个.htaccess文件,内容如下:
Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.html [QSA,L]
做完这些,再访问https://example.com/reactlearn/就能正常看到你的React应用了。
内容的提问来源于stack exchange,提问作者deal tek
相关产品推荐
相关产品推荐

