使用create-react-app创建了一个react应用程序。一切都在本地系统上正常工作,但在Apache tomcat上部署时遇到问题。以下是我部署的步骤:
在项目的公共文件夹中创建.htaccess文件,并添加到代码
下面选项-MultiViews RewriteEngine On RewriteCond%{REQUEST_FILENAME}! - f RewriteRule ^ index.html [QSA,L]
运行" npm run build"创建构建文件。
浏览器控制台没有错误。
的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>
以下是浏览器控制台中的一些照片。
我正在使用BrowserRouter进行路由。我必须在那里改变一些东西。
此外,我看到所有项目文件都在控制台中正确加载。
任何建议或指示都会有所帮助。
答案 0 :(得分:1)
我发现了这个问题。缺少部分。
注意:如果您使用的是react-router@^4
,则可以使用任何<Link>s
上的basename
道具来<Router>
。
<BrowserRouter basename="/calendar"/>
<Link to="/today"/>
// renders <a href="/calendar/today">