我需要用SAPUI5构建一些定制的Fiori库。
在互联网上,我发现了许多关于如何构建这样的库的教程,但没有教程说明我如何部署它。我发现的关于部署的唯一教程是使用旧的Web,但是我们使用的是SAP (),它没有这些功能。
因此,我了解了SAP如何处理自定义库,并试图通过创建一个ui5-deploy.yaml
来像普通的Fiori应用程序一样部署它。
specVersion: '2.5'
metadata:
name: 'zcalibtest'
type: library
builder:
resources:
excludes:
- /test/**
- /localService/**
customTasks:
- name: deploy-to-abap
afterTask: generateCachebusterInfo
configuration:
target:
destination: {DESTINATION}
url: {URL}
credentials:
username: env:DEPLOY_USERNAME
password: env:DEPLOY_PASSWORD
app:
name: Z_CA_LIB_TEST
package: ZCA_TEST
transport: {TRANSPORT}
..。并运行以下NPM "deploy"
脚本:
npm run build && fiori deploy -y --config ui5-deploy.yaml && rimraf archive.zip
但这给了我以下错误:
sh: 1: fiori:找不到
所以我觉得这不是一条路。但我该怎么做呢?我不可能是地球上唯一使用SAP BAS并试图部署自定义库的人。
编辑:
我的package.json
文件:
{
"name": "zcalibtest",
"version": "1.0.0",
"private": true,
"devDependencies": {
"@ui5/cli": "^2.9.3",
"@sap/ux-ui5-tooling": "^1.5.5",
"karma": "^6.1.1",
"karma-chrome-launcher": "^3.1.0",
"karma-cli": "^2.0.0",
"karma-ui5": "^2.3.3",
"ui5-middleware-livereload": "^0.5.1"
},
"ui5": {
"dependencies": [
"ui5-middleware-livereload"
]
},
"scripts": {
"build": "ui5 build --clean-dest",
"deploy": "npm run build && fiori deploy -y --config ui5-deploy.yaml && rimraf archive.zip",
"start": "ui5 serve --open test-resources/path/to/lib/zcalibtest/Example.html",
"testsuite": "ui5 serve --open test-resources/path/to/lib/zcalibtest/qunit/testsuite.qunit.html",
"test": "karma start --browsers=ChromeHeadless --singleRun=true"
},
"license": "UNLICENSED"
}
发布于 2022-05-20 14:21:25
对于部署部分:您需要添加包"@sap/ux-ui5-tooling"
(,包括在devDependencies
中和ui5 dependencies
中)和rimraf
(仅在devDependencies
中)。
对于构建部分:库的构建步骤略有不同,所以您的步骤应该类似于这些步骤(可能您不需要所有步骤..)。对于构建部分,我想您只需要将bestzip
添加到devDependencies
中。
"scripts": {
"build": "npm run clean && ui5 build --include-task=generateManifestBundle generateCachebusterInfo && npm run flatten && npm run clean-after-flatten && npm run zip",
"zip": "cd dist && npx bestzip ../ExampleLibrary-content.zip *",
"flatten": "cp -r dist/resources/name/space/examplelibrary/* dist && cp dist/resources/name/space/examplelibrary/.library dist ",
"clean": "npx rimraf ExampleLibrary-content.zip dist",
"clean-after-flatten": "rm -rf dist/resources dist/test-resources"
}
您可以在这社区的博客文章中找到有关构建库的更多信息。
https://stackoverflow.com/questions/72318169
复制相似问题