Reactjs 如何将create react应用程序部署到web主机(例如Siteground)?

Reactjs 如何将create react应用程序部署到web主机(例如Siteground)?,reactjs,github,web-deployment,continuous-deployment,create-react-app,Reactjs,Github,Web Deployment,Continuous Deployment,Create React App,我正在使用CreateReact应用程序构建一个react项目,并试图找出如何将我的代码部署到Siteground上的托管服务器 有人知道最好的方法吗?我是否通过FTP导入生成文件夹?我可以通过GitHub自动化这个过程吗 提前谢谢 根据文档,您运行npm run build,基本上只需获取输出并将其FTP到web服务器 然而,您的问题非常广泛——您可以通过GitHub或其他工具实现自动化,但这确实会要求对StackOverflow(这不是解决此类问题的合适论坛)做出固执己见的回应。通常主机供应

我正在使用CreateReact应用程序构建一个react项目,并试图找出如何将我的代码部署到Siteground上的托管服务器

有人知道最好的方法吗?我是否通过FTP导入生成文件夹?我可以通过GitHub自动化这个过程吗

提前谢谢

根据文档,您运行
npm run build
,基本上只需获取输出并将其FTP到web服务器


然而,您的问题非常广泛——您可以通过GitHub或其他工具实现自动化,但这确实会要求对StackOverflow(这不是解决此类问题的合适论坛)做出固执己见的回应。

通常主机供应商会提供指导策略

例如:

否则,您将不得不自己管理它,注册一个自定义生成脚本,该脚本使用:

npm运行构建

然后移动生成文件夹。如果使用Maven,您可以使用以下插件管理整个构建:


npm运行构建
纱线构建

将用于生产的应用程序生成到
生成文件夹
。 它在生产模式下正确地反应,并优化构建以获得最佳性能


npm run build
使用应用程序的生产版本创建一个版本目录。设置您最喜欢的HTTP服务器,以便为站点的访问者提供index.html服务,并为对静态路径(如
/static/js/main..js
的请求提供
/static/js/main..js
文件的内容


来源:

我刚刚用FileZilla将我的create react应用程序上传到siteground这里是一步一步:

  • 一旦您准备好了所有产品
    npm运行build
  • 在浏览器上打开siteGround并进入myAcount部分,单击
    转到cPanel
    向下滚动并查找
    FTP帐户
  • 创建一个指向目录
    public\u html
  • 创建后,它将显示在下方,一直右键单击
    configure FTP client
    ,在“手动设置”下,您已经获得了连接所需的内容
  • 打开FileZilla并在文件中转到
    siteManager
    然后
    new site
  • 主机
    (在filezilla中)==
    FTP服务器
    (在sitiGround中),
    端口
    设置为siteground端口,协议和加密保留为默认值
  • 登录类型
    设置为正常,
    用户
    ==
    FTP用户
    (siteGround)和
    密码
    您用于创建该FTP用户的密码
  • 单击
    connect
    并将
    yourApp/build
    内容粘贴到(右侧的文件夹),该文件夹是您在siteGround中的
    public\u html
  • 就这样!转到您的网站并检查,react应用程序应显示在那里

    下面是这个过程的来源
    在这里,他们使用fileZilla的快速连接,但我有多个站点,因此siteManager更干净,并存储您的凭据以备下次使用

    如果您使用的是
    create react app
    ,则您可以执行以下操作:

  • npm运行构建
    纱线构建
  • 根据上一点,复制
    build
    文件夹中的所有内容
  • 要使路由正常工作,请添加包含以下内容的
    .htaccess
    文件:
    
    重新启动发动机
    重写基/
    重写规则^index\.html$-[L]
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写cond%{REQUEST_FILENAME}-L
    重写规则/index.html[L]
    
  • 将其导出到服务器的根文件夹(通常为public_html)
  • 希望有帮助

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.html$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-l
      RewriteRule . /index.html [L]
    </IfModule>