我的问题是,当上传到GH页面时,索引路由呈现的是我的默认NoMatch组件,而不是我的Home组件。当在本地服务器上运行相同的应用程序时,localhost:3000将正确地呈现Home。
我的路线是这样设置的:
ReactDOM.render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Home} />
<Route path="home" component={Home} />
<Route path="projects" component={Projects} />
<Route path="photography" component={Photography} />
<Route path="about" component={About} />
<Route path="contact" component={Contact} />
<Route path="creativeprocess" component={CreativeProcess} />
<Route path="readinglist" component={ReadingList} />
<Route path="*" component={NoMatch} />
</Route>
</Router>),
document.getElementById('root')
我的app.js有一个header部分,然后用{this.props.children}的div跟踪它。在GH页面和本地,除了初始呈现时的IndexRoute之外,所有路由都按预期工作。
GitHub Pages提供静态内容,但是您使用的是BrowserHistory
,这需要服务器上的某种路由器来提供页面。对于静态内容,应该使用HashHistory
。
ReactDOM.render((
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Home} />
<Route path="home" component={Home} />
<Route path="projects" component={Projects} />
<Route path="photography" component={Photography} />
<Route path="about" component={About} />
<Route path="contact" component={Contact} />
<Route path="creativeprocess" component={CreativeProcess} />
<Route path="readinglist" component={ReadingList} />
<Route path="*" component={NoMatch} />
</Route>
</Router>
), document.getElementById('root'))
在这个答案中,我对为什么要使用hashhistory
做了很长的解释,但它的要点是,当用户导航到应用程序所在的页面时,应用程序应该始终为他们提供服务。应用程序将使用当前URL来确定要呈现的内容。
对于静态站点,无论路径如何,都没有提供正确文件的后端。为了保证所有路由都提供正确的内容,您应该使用哈希历史记录。当使用哈希历史时,哈希之前的路径是html文件所在的位置,哈希将用于确定要呈现的路由。
我想把一个网站推到GitHub上的gh-pages分支...我需要包含node_modules/文件夹,但git甚至不允许我添加它来提交更改...我理解这是所希望的行为,因为您不希望在开发时包含依赖项。但我想把现场部署在这里...所以我需要包括所有的依赖关系... 有什么想法吗?
该项目自 v2.2.0 开始,已经合并到 GitHub 官方的命令行项目 hub 中。 gh 是一个用 Go 语言开发的 Github 命令行客户端。
问题内容: 我有一个应用程序,它使用一个ng-view和多个控制器和视图。如果我浏览根目录,例如:www.domain.com,则一切正常。除非我按Ctrl +R(刷新),否则会显示404错误页面未找到。例如:刷新此页面给我错误。http://domain.com/item/1/。 但是,如果我使用hashbang访问页面,则它可以工作。例如:http://domain.com/#!/item/1
gh-prs 是 GitHub CLI 工具 gh 的扩展,用于在命令行界面通过 UI 展示 PR 的信息。
Node GH 是基于 Node.js 编写的 Github 命令行工具。 使用示例: 列出当前仓库的拉取请求的快捷方式。 gh pr 列出所有仓库中所有分支的开放拉取请求。 gh pr --list --all 列出当前版本库中已登录用户发送的拉取请求。 gh pr --list --me 列出开放的拉动请求,包括链接和内容。 gh pr --list --detailed 列出一个分支的拉取请
gh-ost 是 GitHub 开源的在线更改 MySQL 表结构的工具。它是可测试的,并提供了停止服务(pausability)、动态控制/重新配置、审计和许多运维操作。 gh-ost 工作流程 具有以下特性 动态控制:即使迁移仍在运行,也可以交互式地重新配置 gh-ost 审计:可以查询 gh-ost 的状态。gh-ost 监听 unix socket 或 TCP ……