如何在vertx中添加外部css/js文件

问题描述 投票:0回答:3

如何在 Vertx 中添加外部 CSS/Javascript 文件? 我已经成功发送了显示的index.html。该index.html有一些外部Javascript/CSS文件,并且vertx没有加载index.html中的CSS/Javascript文件。 代码如下。

public void start() {
    vertx.createHttpServer().requestHandler(req -> {
            req.response()
                .putHeader("content-type", "text/html")
                .sendFile("index.html");
        }).listen(8080);
}

在index.html中

<html>
    <head>
        <script src="someJsFile.js"></script>
    </head>
    <body>
        Hello World
    </body>
</html>
java vert.x
3个回答
1
投票

回到 Vert.x 2 时代,有一个简单的示例如何做到这一点:

import org.vertx.java.core.Handler;
import org.vertx.java.core.http.HttpServerRequest;
import org.vertx.java.platform.Verticle;

public class Server extends Verticle {
  public void start() {
      vertx.createHttpServer().requestHandler(new Handler<HttpServerRequest>() {
          public void handle(HttpServerRequest req) {
              String file = req.path().equals("/") ? "index.html" : req.path();
              req.response().sendFile("webroot/" + file);
          }
      }).listen(8080);
  }
}

参见此处:http://vertx.io/vertx2/(Java 选项卡)

请注意免责声明;)

  • 在真正的生产网络服务器中,您需要对路径进行一些检查,以确保文件不会从网络根目录外部提供服务!

0
投票

这是顶点 3

配置路由器以提供静态内容

router.route().handler(StaticHandler.create());

文件夹中的我的静态文件

src/main/resources/webroot


0
投票

我正在使用 vertx

4.3.7
,但我无法使其与上述解决方案一起使用。

我必须指定整个路径,如下所示:

router.route().handler(StaticHandler.create("src/main/resources/"));

我的css文件放在

src/main/resources/css

© www.soinside.com 2019 - 2024. All rights reserved.