代码之家  ›  专栏  ›  技术社区  ›  Novice_JS

使用部署在Apache Tomcat上的Create React应用程序创建的React网站,提供空白屏幕

  •  0
  • Novice_JS  · 技术社区  · 7 年前

    使用Create React应用程序创建了一个React应用程序。在本地系统上一切正常,但在ApacheTomcat上部署时会遇到问题。以下是我部署时遵循的步骤:

    1. 添加了“ ”homepage“:” https://websitename.com/react_web://a>“ in package.json.
    2. 在项目的公用文件夹中创建.htaccess文件并在下面添加代码

      选项-多视图 重新编写引擎 rewritesecond%请求文件名!-F rewriterule^index.html[qsa,l],

    3. 运行“npm run build”创建生成文件。

    4. 已将构建文件的内容复制到Apache Tomcat中的“react_web”文件夹中。
      1. 浏览器控制台中没有错误。

        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>您需要启用javascript才能运行此应用程序。</noscript><div id=“root”></div><script type=“text/javascript”src=“//websitename.com/react_web/static/js/main.b302e125.js”></script>/body></html>
        
        
        

        以下是来自浏览器控制台的一些图片。

        我正在使用浏览器路由器进行路由选择。我是否必须在那里更改一些内容。

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

        任何建议或指导都将是有益的。

        1. 补充“主页”:“https://websiteName.com/react_web他说:“这是一个很好的选择。”在package.json中。
        2. 在项目的公用文件夹中创建.htaccess文件并在下面添加代码

          选项-多视图 重新编写引擎 rewritesecond%请求文件名!-F rewriterule^index.html[qsa,l]

        3. 运行“npm run build”创建生成文件。

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

        浏览器控制台中没有错误。

        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

        我正在使用浏览器路由器进行路由选择。我必须在那里换点东西吗?

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

        任何建议或指导都是有帮助的。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Novice_JS    7 年前

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

    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