我是create-react-app
的新手。
我想知道为什么打开index.html
表单构建不起作用?
我知道应该使用构建版本serve -s build
,但我想知道为什么没有服务就无法启动构建反应应用程序。
我会进一步解释: 我做的是......
create-react-app helloworld
npm run build
或yarn run build
...现在,我将使用./build
创建index.html
目录。index.html
,它将无效。我想了解为什么这不起作用? 为什么我必须为构建服务才能使其工作?
答案 0 :(得分:1)
reddit上的某个人针对类似的话题给出了以下答案
该项目是在假定它托管在服务器根目录下构建的。
要覆盖此内容,请在package.json中指定主页。
我不推荐这样做,但是您可以将以下内容添加到 package.json,可直接从文件服务器运行它-
“主页”:”。/”
https://www.reddit.com/r/reactjs/comments/5iya27/why_open_up_indexhtml_wont_workcreatereactapp/
答案 1 :(得分:0)
对于react-router应用程序,有一个hack。只需使用路径“ /index.html”创建一个<Route/>
到合适的组件即可。
<Route exact path="/" component={Home} />
<Route path="/index.html" component={Home} />
答案 2 :(得分:0)
对于使用 react-router-dom 的用户,您可以使用 <HashRouter>
代替 <BrowserRouter>
。它应该是这样的:
<HashRouter>
<Switch>
<Route path="/" exact component={ Main } />
</Switch>
</HashRouter>