Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用vert.x加载静态angular2 web项目_Angular_Vert.x - Fatal编程技术网

使用vert.x加载静态angular2 web项目

使用vert.x加载静态angular2 web项目,angular,vert.x,Angular,Vert.x,我们可以使用vert.x加载静态网页,方法是将index.html放在资产文件夹中,并在路由器中给出其路径 router.route("/assets/*").handler(StaticHandler.create("assets")); 若我将Angular2构建项目放在assets文件夹中并尝试加载index.html,浏览器将无法理解Angular2,因为浏览器中并没有加载依赖项 据我所知,我们可以使用lite服务器或节点来运行Angular2项目 有没有办法使用vert.x加载Ang

我们可以使用vert.x加载静态网页,方法是将index.html放在资产文件夹中,并在路由器中给出其路径

router.route("/assets/*").handler(StaticHandler.create("assets"));
若我将Angular2构建项目放在assets文件夹中并尝试加载index.html,浏览器将无法理解Angular2,因为浏览器中并没有加载依赖项

据我所知,我们可以使用lite服务器或节点来运行Angular2项目

有没有办法使用vert.x加载Angular2项目,或者没有web服务器也有其他解决方案?

如vert.x文档中所述

对静态处理程序处理的路径的任何请求都将导致 从文件系统上的目录或从 类路径。默认的静态文件目录是webroot,但这可以 可以进行配置

由于您已将默认web根文件夹配置为assets,因此对路径/assets/的任何请求都将导致在assets/assets/下归档,并按照官方文档的规定提供:

例如,如果有一个路径为/static/css/mystyles.css的请求 静态服务将在目录中查找文件 webroot/static/css/mystyle.css

例如,路径为/assets/js/angular2.js的请求将指示服务器在assets/assets/js/angular2.js下查找文件,因此您应该:

  • 移动资产/资产/文件夹下的静态资产
  • 或者保留默认的根文件夹,并将静态文件放在webroot/assets下

附加:适用于任何一位无意中看到这篇文章的人。 下面是在浏览器上处理刷新的代码段

堆栈-Vertx提供2个文件

   // Create a router endpoint for the static content.

   basically route any files - js, css, jpg etc
   router.route("/*")
   .handler(StaticHandler.create("webroot").setCachingEnabled(false));

   // so anything else re route to home page
   router.route("/*").handler(rc -> {
        logger.info("For refresh handling");

        rc.response().sendFile("webroot/index.html");

   });