Настройка прокси для ui5-сервера
Я создал проект с помощью инструмента ui5-cli. Я добавляю в свой проект внешние js-библиотеки.ui5 serve
команда start ui5-server и отображает папку библиотеки ui5 как/resource.
Мне нужно нанести карту resource/libs
папку в другое место в моем проекте.
Как я могу настроить прокси ui5-server для сопоставления / маршрутизации?
Мой файл package.json:
{
"name": "openui5-sample-app",
"version": "0.2.0",
"description": " ",
"private": true,
"scripts": {
"start": "ui5 serve",
"lint": "eslint webapp",
"karma": "karma start",
"karma-ci": "rimraf coverage && karma start karma-ci.conf.js",
"watch": "npm run karma",
"test": "npm run lint && npm run karma-ci",
"build": "ui5 build -a --clean-dest",
"build-self-contained": "ui5 build self-contained -a --clean-dest",
"serve-dist": "ws --compress -d dist"
},
"dependencies": {
"@openui5/sap.m": "^1.70.0",
"@openui5/sap.ui.core": "^1.70.0",
"@openui5/themelib_sap_fiori_3": "^1.70.0",
"js-cookie": "^2.2.1"
},
"devDependencies": {
"@ui5/cli": "^1.9.0",
"eslint": "^5.16.0",
"karma": "^4.3.0",
"karma-chrome-launcher": "^3.1.0",
"karma-coverage": "^2.0.1",
"karma-ui5": "^1.1.0",
"local-web-server": "^3.0.7",
"rimraf": "^3.0.0"
}
}
Мой файл component.js:
jQuery.sap.registerModulePath('libs.js-cookie', '../resources/libs/js.cookie-2.2.1.min');
sap.ui.define([
...,
"libs/js-cookie"
], function(UIComponent, Device, models) {
...
});
Мой файл yaml:
specVersion: '1.0'
metadata:
name: openui5-sample-app
type: application
resources:
configuration:
propertiesFileSourceEncoding: "UTF-8"
1 ответ
Вы должны обновить свой cli до последней версии на момент написания "@ui5/cli": "^1.11.1"
. Я лично могу порекомендовать вам NCU проверить regulare обновлений.
Эта конфигурация требует начальной загрузки CDN в вашем index.html.
ui5-tooling имеет свой раздел зависимостей, добавьте туда свои пакеты
{
"name": "xyz",
"version": "1.0.0",
"description": "xyz",
"dependencies": {
"@sap/approuter": "6.5.1"
},
"devDependencies": {
"@ui5/cli": "^1.11.1",
"ui5-middleware-simpleproxy": "^0.1.3",
"ui5-tooling-livereload": "^0.1.4",
"js-cookie": "^2.2.1"
},
"sapui5-runtime": {
"version": "1.66.1"
},
"scripts": {
},
"ui5": {
"dependencies": [
"ui5-tooling-livereload",
"ui5-middleware-simpleproxy",
"js-cookie"
]
}
}
Чтобы увидеть великолепную картину после всего ямла. Но вам нужно только то, что после "--- # Все"
specVersion: '1.0'
metadata:
name: my.ui5.id
type: application
server:
customMiddleware:
- name: ui5-tooling-livereload
afterMiddleware: compression
configuration:
debug: true
ext: "xml,json,properties"
port: 35729
path:
- "webapp"
- name: ui5-middleware-simpleproxy
mountPath: /my/local/backend/service/odata/v2
afterMiddleware: compression
configuration:
baseUri: "http://localhost:8081/my/local/backend/service/odata/v2"
--- # Everything below this line could also be put into the ui5.yaml of a standalone extension module
specVersion: "1.0"
kind: extension
type: project-shim
metadata:
name: my.application.thirdparty
shims:
configurations:
js-cookie: # name as defined in package.json
specVersion: "1.0"
type: module # Use module type
metadata:
name: js-cookie
resources:
configuration:
paths:
/resource/libs: "/src/" #here is mapped: node_modules/js-cookie/src