我是编程的新手,如果我阅读官方文档,我会很难理解.
在这篇文章中,作者正在谈论<HashRouter>和<BrowserRouter>
这就是他提到的
HashRouter基本上它使用URL中的哈希来呈现组件.由于我正在构建一个静态的单页网站,我需要使用它.
BrowserRouter,它使用HTML5历史API来渲染组件.可以通过pushState和replaceState修改历史记录.更多信息可以在这里找到
现在,我没有得到两者的重要性和用例.就像他说可以通过pushState和replaceState修改历史记录时的意思一样,它使用URL中的哈希来呈现组件
虽然BrowserRouter的第一个解释对我来说完全模糊,但关于HashRouter的第二个解释也没有意义,比如为什么有人会在url中使用Hash(#)来渲染组件?
我正在尝试使用react的构建工具构建我的反应应用程序.当我尝试"npm start"时,应用程序运行正常.
npm start
Run Code Online (Sandbox Code Playgroud)
在http:// localhost:3000 =>我可以访问该应用程序.
但是当我构建应用程序并尝试访问构建文件夹中的"index.html"文件时,它不起作用,我遇到了一个白色的空白屏幕.
npm run build
Run Code Online (Sandbox Code Playgroud)
http://myreact-app/build/index.html =>白色空白屏幕.
这是在运行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="/manifest.json">
<link rel="shortcut icon" href="/favicon.ico">
<title>React App</title>
<link href="/static/css/main.9a0fe4f1.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="/static/js/main.46d8cd76.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?我无法访问我的apache Web服务器上构建的index.html文件?
reactjs ×2