首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SAP中部署自定义UI5库

在SAP中部署自定义UI5库
EN

Stack Overflow用户
提问于 2022-05-20 11:25:40
回答 1查看 1.1K关注 0票数 1

我需要用SAPUI5构建一些定制的Fiori库。

在互联网上,我发现了许多关于如何构建这样的库的教程,但没有教程说明我如何部署它。我发现的关于部署的唯一教程是使用旧的Web,但是我们使用的是SAP (),它没有这些功能。

因此,我了解了SAP如何处理自定义库,并试图通过创建一个ui5-deploy.yaml来像普通的Fiori应用程序一样部署它。

代码语言:javascript
运行
复制
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"脚本:

代码语言:javascript
运行
复制
npm run build && fiori deploy -y --config ui5-deploy.yaml && rimraf archive.zip

但这给了我以下错误:

sh: 1: fiori:找不到

所以我觉得这不是一条路。但我该怎么做呢?我不可能是地球上唯一使用SAP BAS并试图部署自定义库的人。

编辑:

我的package.json文件:

代码语言:javascript
运行
复制
{
  "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"
}
EN

回答 1

Stack Overflow用户

发布于 2022-05-20 14:21:25

对于部署部分:您需要添加包"@sap/ux-ui5-tooling" (,包括devDependencies中和ui5 dependencies中)和rimraf (仅在devDependencies中)。

对于构建部分:库的构建步骤略有不同,所以您的步骤应该类似于这些步骤(可能您不需要所有步骤..)。对于构建部分,我想您只需要将bestzip添加到devDependencies中。

代码语言:javascript
运行
复制
"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"
}

您可以在社区的博客文章中找到有关构建库的更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72318169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档