使用vert.x加载静态angular2 web项目
我们可以使用vert.x加载静态网页,方法是将index.html放在资产文件夹中,并在路由器中给出其路径使用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
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下
// 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");
});