2017-04-21 74 views
1

我是新來的vertx-web。我正在使用ruby vertx-web構建Web應用程序。我想提供靜態文件(index.html)。和我的index.html包裝在webroot文件夾中。 我的index.html文件將加載爲http://localhost:8088。我需要爲localhost提供index.html:8088/demo或localhost:8088/test或http://localhost:8088/ *(*可以是任何內容,它應該提供index.html)。Vertx網路由

目錄結構:

  • 前端

    • 根目錄

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

任何幫助將不勝感激。

回答

0

試試這個:

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

Hi niraj,router.route_with_regex(「。*/index.html」)。handler(){| ctx | response = ctx.response() response.put_header(「content-type」,「text/html」) response.set_ Chunked(true) response.send_file(「webroot/index.html」) } index.html,但不會加載index.html中的css和js文件 –

0

你可以定義爲最後的路線默認路由,並設置一個處理程序只發送index.html文件:

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

這是Java版本,但翻譯它到Ruby應該很容易。

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") 

}