点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,SAP!
我正在尝试使用 nodejs 和 html5模块在云铸造厂上构建全栈应用。 我首先创建了一个没有html5应用程序回购的 MTA ,并且效果很好(特别是路由,这个问题将要解决的问题)。 然后,我创建了一个带有html5应用程序仓库的 MTA (在创建html5模块时选中了该复选框)以利用它,现在路由到我的nodejs-backend-module不再起作用。 总是存在内部服务器错误。
我已经在sap帮助站点上阅读到,当使用html5 app repo和approuter时,不支持属性" destination"(我在没有html5 app repo的mta中具有将请求转发到模块的属性)。 那么我该如何将请求转发到后端模块?
以下显示了具有到html5应用程序仓库的路由的approuter。 当我添加带有目的地的第二条路线时,它不再起作用。
{ " welcomeFile":"/index.html", " authenticationMethod":"路由", "登出": { " logoutEndpoint":"/img/do/logout" }, "路线":[{ " source":" ^/(。*)$", " target":" $ 1", " service":" html5-apps-repo-rt", " authenticationType":" xsuaa" },{//无效的部分 " source":" ^/api/([[a-z] +)", " target":"/img/$ 1", "目标":" nodejs_repo_api" } ] }
这是mta.yaml文件:
ID:mta_test_modules_repo _schema-version:" 2.1" 参数: deploy_mode:html5-repo 版本:0.0.1 模块: -名称:mta_test_modules_repo_appRouter 类型:approuter.nodejs 路径:mta_test_modules_repo_appRouter 参数: 磁盘配额:256M 记忆体:256M 要求: -名称:mta_test_modules_repo_html5_repo_runtime -名称:uaa_mta_test_modules_repo -名称:mta_test_modules_repo_ui_deployer 类型:com.sap.html5.application-content 路径:mta_test_modules_repo_ui_deployer 要求: -名称:mta_test_modules_repo_html5_repo_host 构建参数: 要求: -名称:destination_service_frontend 工件: -'./*' 目标路径:resources/destination_service_frontend -名称:nodejs_repo 类型:nodejs 路径:nodejs_repo 提供: -名称:nodejs_repo_api 特性: 网址:" $ {default-url}" -名称:destination_service_frontend 类型:html5 路径:destination_service_frontend 参数: 磁盘配额:500M 内存:500M 构建参数: 制造商:咕unt声 要求: -名称:nodejs_repo_api 组:目的地 特性: 名称:nodejs_repo_api 网址:"〜{url}" forwardAuthToken:true -名称:uaa_mta_test_modules_repo 资源: -名称:mta_test_modules_repo_html5_repo_runtime 参数: 服务计划:应用程序运行时 服务:html5-apps-repo 类型:org.cloudfoundry.managed-service -名称:mta_test_modules_repo_html5_repo_host 参数: 服务计划:应用托管 服务:html5-apps-repo 类型:org.cloudfoundry.managed-service -名称:uaa_mta_test_modules_repo 参数: 路径:./xs-security.json 服务计划:应用 服务:xsuaa 类型:org.cloudfoundry.managed-service -名称:dest_mta_test_modules_repo 参数: 服务计划:精简版 服务:目的地 类型:org.cloudfoundry.managed-service
approuter模块是应该访问后端的模块(来自nodejs_repo模块),因此您需要在那里。
换句话说,移动:
从destination_service_frontend模块到mta_test_modules_repo_appRouter模块,进行构建和部署。 有了这个approuter,应该可以找到目标nodejs_repo_api
类似的问题,此解决方案就可以了! 谢谢
嗨,佩吉,
您是否尝试过将api路由放在首位? 据我所知,在每种情况下,都会匹配并触发第一条路线。 这就是修改了" routes"后xs-app.json的样子:
让我们知道这是怎么回事。
您好 Ashish Singh a>,
感谢您的回答。
是的,我已经尝试过了,但是仍然找不到该模块。 一次,我还在回购路由中添加了一个/ui5/来进行确定,但是在回购中找不到index.html。
嗨,奥拉,
要解决此问题,请执行以下操作:
a)按照 Sergio Rozenszajn.html的定义,将目标移动到AppRouter模块。
b)更改路线中的目标字段:
此致
Puneet
嗨, Puneet Jain ,
感谢您的回答。 不幸的是,这对我也不起作用。 仍然找不到。 您确定这一定是解决问题的原因吗? 你有这个案子吗?
最诚挚的问候!
一周热门 更多>