Reactjs 无法使用vertx设置反应路由
Reactjs 无法使用vertx设置反应路由,reactjs,routes,static,handler,vert.x,Reactjs,Routes,Static,Handler,Vert.x,公共类BackendVerticle扩展了AbstractVerticle{ @凌驾 public void start()引发异常{ //标记::后端[] 路由器=路由器。路由器(vertx); router.get().handler(StaticHandler.create());// vertx.createHttpServer() .requestHandler(路由器) .听(8080); //end::backend[] } //tag::main[] 公共静态void main(
公共类BackendVerticle扩展了AbstractVerticle{
@凌驾
public void start()引发异常{
//标记::后端[]
路由器=路由器。路由器(vertx);
router.get().handler(StaticHandler.create());//
vertx.createHttpServer()
.requestHandler(路由器)
.听(8080);
//end::backend[]
}
//tag::main[]
公共静态void main(字符串[]args){
Vertx Vertx=Vertx.Vertx();//
vertx.deployVerticle(新的BackendVerticle());//
}
//结束::main[]
}
构建静态网站时,它包含在一个索引HTML文件中
React路由器允许为特定视图创建路径。React路由器可以解释这些路径,但它们不会映射到后端服务器上的实际文件
这就是为什么如果您尝试加载除/
以外的任何内容,会得到404notfound
响应
要解决此问题,请将Vert.x Web路由器配置为将StaticHandler
无法加载的任何内容重新路由到/
:
// After you've setup the other routes
router.get().handler(StaticHandler.create());
router.get().handler(rc -> rerouteToIndex(rc));
private void rerouteToIndex(RoutingContext rc) {
if (!"/".equals(rc.normalisedPath())) {
rc.reroute("/");
} else {
rc.next();
}
}
构建静态网站时,它包含在一个索引HTML文件中 React路由器允许为特定视图创建路径。React路由器可以解释这些路径,但它们不会映射到后端服务器上的实际文件 这就是为什么如果您尝试加载除
/
以外的任何内容,会得到404notfound
响应
要解决此问题,请将Vert.x Web路由器配置为将StaticHandler
无法加载的任何内容重新路由到/
:
// After you've setup the other routes
router.get().handler(StaticHandler.create());
router.get().handler(rc -> rerouteToIndex(rc));
private void rerouteToIndex(RoutingContext rc) {
if (!"/".equals(rc.normalisedPath())) {
rc.reroute("/");
} else {
rc.next();
}
}
将处理程序添加到
get(“/*”)
路由不需要检查路径吗?我不确定,我认为/*
也匹配/
。将处理程序添加到get(“/*”)
路由不需要检查路径吗?我不确定,我认为/*
也匹配/
。