on 2023 Dec 12 9:26 AM
Hello,
I want to configure the stanalone app as following:
{
"source": "/test/(.*)$",
"target": "/<appID>/$1",
"service": "html5-apps-repo-rt",
"authenticationType": "none"
}
/test/index.html is supposed to redirect to /<appID>/index.html. The index.html file actually loads but loading the sap-ui-core.js results in a 404 error. The path for the sap-ui-core.js requested by the client is /test/resources/sap-ui-core.js
Loading from /<appID>/resources/sap-ui-core.js works fine.
Here is the xs-app.json of the UI5 project:
{
"welcomeFile": "/index.html",
"authenticationMethod": "route",
"routes": [
{
"source": ".*/resources/(.*)$",
"target": "/resources/$1",
"authenticationType": "none",
"destination": "ui5"
},
{
"source": "^.*/test-resources/(.*)$",
"target": "/test-resources/$1",
"authenticationType": "none",
"destination": "ui5"
},
{
"source": "^(.*)$",
"target": "$1",
"service": "html5-apps-repo-rt",
"authenticationType": "none"
}
]
}
Any idea?
Request clarification before answering.
Hi,
I did something similar where I wanted to redirect the root path to an app. This is the config I used:
{
"authenticationMethod": "none",
"welcomeFile": "/index.html",
"routes": [
{
"authenticationType": "none",
"csrfProtection": false,
"source": "^/odata/",
"destination": "my-api"
},
{
"source": "^/resources/(.*)$",
"target": "/resources/$1",
"authenticationType": "none",
"destination": "ui5"
},
{
"source": "^/test-resources/(.*)$",
"target": "/test-resources/$1",
"authenticationType": "none",
"destination": "ui5"
},
{
"source": "^(.*)$",
"target": "/mayappnamespace/$1",
"service": "html5-apps-repo-rt",
"authenticationType": "none"
}]
}
To adapt this for your scenario, I think you can do something like this:
{
"authenticationMethod": "none",
"welcomeFile": "/index.html",
"routes": [
{
"authenticationType": "none",
"csrfProtection": false,
"source": "^/odata/",
"destination": "my-api"
},
{
"source": "^/test/resources/(.*)$",
"target": "/resources/$1",
"authenticationType": "none",
"destination": "ui5"
},
{
"source": "^/test/test-resources/(.*)$",
"target": "/test-resources/$1",
"authenticationType": "none",
"destination": "ui5"
},
{
"source": "^/test/(.*)$",
"target": "/<appid>/$1",
"service": "html5-apps-repo-rt",
"authenticationType": "none"
}]
}
I'm not completely sure that "/test" in front of resources is needed, give it a try with and without 🙂
This will also requires the approuter to have access to the ui5 destination. Therefore, you need to add the following config in the mta.yaml for the approuter module:
- name: approuter
type: approuter.nodejs
path: approuter
requires:
- name: auth
- name: connectivity
- name: html_repo_runtime
- name: destination
group: destinations
properties:
forwardAuthToken: false
name: ui5
url: https://ui5.sap.com
An alternative solution could be to just point to https://ui5.sap.com in your index.html page.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
58 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.