使用部署在Apache Tomcat上的Create-react-app创建的React网站给出了空白屏幕

时间:2018-06-16 19:18:10

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

使用create-react-app创建了一个react应用程序。一切都在本地系统上正常工作,但在Apache tomcat上部署时遇到问题。以下是我部署的步骤:

  1. 在package.json中添加了"主页":" https://websiteName.com/react_web"
  2. 在项目的公共文件夹中创建.htaccess文件,并添加到代码

    下面

    选项-MultiViews     RewriteEngine On     RewriteCond%{REQUEST_FILENAME}! - f     RewriteRule ^ index.html [QSA,L]

  3. 运行" npm run build"创建构建文件。

  4. 将构建文件的内容复制到' react_web' Apache tomcat中的文件夹。
  5. 浏览器控制台没有错误。

    的index.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>
    

    以下是浏览器控制台中的一些照片。

    enter image description here

    我正在使用BrowserRouter进行路由。我必须在那里改变一些东西。

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

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

1 个答案:

答案 0 :(得分:1)

我发现了这个问题。缺少部分。

注意:如果您使用的是react-router@^4,则可以使用任何<Link>s上的basename道具来<Router>

<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