【问题标题】:React website created using Create-react-app deployed on Apache Tomcat giving blank screen使用部署在 Apache Tomcat 上的 Create-react-app 创建的 React 网站出现空白屏幕
【发布时间】:2018-11-26 05:00:31
【问题描述】:

使用 create-react-app 创建了一个反应应用。在本地系统上一切正常,但在 Apache tomcat 上部署时出现问题。以下是我部署的步骤:

  1. 在 package.json 中添加了 "homepage":"https://websiteName.com/react_web"
  2. 在项目的公用文件夹中创建.htaccess文件并添加到代码下方

    选项 -MultiViews 重写引擎开启 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.html [QSA,L]

  3. 运行“npm run build”来创建构建文件。

  4. 将构建文件的内容复制到 Apache tomcat 的“react_web”文件夹中。

浏览器控制台没有错误。

索引.html:

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="//websiteName.com/react_web/manifest.json"><link rel="shortcut icon" href="//websiteName.com/react_web/favicon.ico"><title>React App</title><link href="//websiteName.com/react_web/static/css/main.d17afb7e.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="//websiteName.com/react_web/static/js/main.b302e125.js"></script></body></html>

以下是浏览器控制台的几张图片。

我正在使用 BrowserRouter 进行路由。我需要在那里改变一些东西吗?

我还看到所有项目文件都在控制台中正确加载。

任何建议或指导都会有所帮助。

【问题讨论】:

    标签: reactjs tomcat react-router react-redux create-react-app


    【解决方案1】:

    我发现了问题。缺少以下部分。

    注意:如果您使用的是react-router@^4,您可以在任何&lt;Router&gt; 上使用basename 属性来root &lt;Link&gt;s

    <BrowserRouter basename="/calendar"/>
    <Link to="/today"/>
    // renders <a href="/calendar/today">
    

    参考:https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#building-for-relative-paths

    【讨论】:

      猜你喜欢
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 2020-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-02
      相关资源
      最近更新 更多