我想将 html5 模块与 nodejs 后端“连接”,以便前端可以访问后端的数据库逻辑。我发现,我必须在 scp 中创建一个目标并将其写入 approuter 的 mta.yaml 和 xs-app.js 文件中。不幸的是,它无法正常工作,因为出现错误:“未找到”。
html5 前端只发出一个 ajax 请求。nodjs 后端通过 express 接收请求并使用 db 操作。
我在 scp 中创建了一个名为 backendApi 的目的地。url 是 node_backend 之一。
mta.yaml 文件中的代码片段:
name: node_backend
type: nodejs
path: node_backend
requires:
- name: mongodb-nemo-t01-service
- name: cf_elb_postgres
provides:
- name: node_backend_api
properties:
url: '${default-url}'
- name: cfElbTimeline
type: html5
path: cfElbTimeline
parameters:
disk-quota: 500M
memory: 500M
build-parameters:
builder: grunt
requires:
- name: node_backend_api
group: destinations
properties:
name: backendApi
url: '~{url}'
forwardAuthToken: true
我的 xs-app.js 文件:
{
"welcomeFile": "/index.html",
"authenticationMethod": "route",
"logout": {
"logoutEndpoint": "/do/logout"
},
"routes": [{
"source": "^(.*)$",
"target": "$1",
"service": "html5-apps-repo-rt",
"authenticationType": "xsuaa"
}, {
"source": "^(.*)$",
"target": "$1",
"destination": "backendApi",
"httpMethods": ["GET", "POST"],
"authenticationType": "none"
}]
}
它已经通过前端访问后端了一次,但是html5 应用程序存储库存在问题,因此视图不可见。所以我改变了它,但不能回到正题,当我可以通过approuter url 访问后端时。也许路线的正则表达式有问题?
谁能检查我的代码或可以解释它应该如何工作?