Vertx Web路由

时间:2017-04-21 11:41:15

标签: ruby vert.x

我是vertx-web的新手。我正在使用ruby vertx-web构建Web应用程序。我想提供静态文件(index.html)。和我的index.html打包在webroot文件夹中。 我的index.html文件将加载http://localhost:8088。我需要为localhost提供index.html:8088 / demo或localhost:8088 / test OR http://localhost:8088/ *(*可以是任何内容,它应该提供index.html)。

目录结构:

  • 前端

    • 根目录

      • 的index.html
      • index.css
    • sever.rb

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

试试这个:

router.route("/static/*").handler(&VertxWeb::StaticHandler.create().setWebRoot("webroot").method(:handle))

答案 1 :(得分:0)

您可以将默认路由定义为最后路由,并设置仅发送index.html文件的处理程序:

router.route().handler(rc -> {
  rc.response().sendFile("webroot/index.html");
});

这是Java版本,但将其转换为Ruby应该很容易。

答案 2 :(得分:0)

以下代码适用于我。

router.route_with_regex(".*/index.html").handler() { |routingContext|  router.route().handler(&VertxWeb::StaticHandler.create().method(:handle))

   response = routingContext.response()

   response.put_header("content-type", "text/html") 
   response.set_chunked(true) 

   response.send_file("webroot/index.html")

}