将NPM包与SAPUI5 Typescript一起使用



我正在尝试在SAPUI5应用程序中使用npm包soap

我是web开发的新手,所以我尝试遵循本教程:
https://github.com/SAP-samples/ui5-typescript-tutorial/tree/main/exercises/ex8

我尝试过的:

  • 使用yeoman-generator easy-ui5 ts-app创建SAPUI5项目
  • 已安装soap作为开发依赖项
  • 已尝试将createClient方法导入控制器:
    import { createClient } from "soap"
  • 创建客户端:
    const SOAPClient:any = createClient("",function(){});
  • 使用npm start运行应用程序

但我在chrome控制台中遇到这样的错误:

获取http://<resources/http.js net::ERR_ABORTED 404(未找到)loadScript@ui5loader.js:1351 2022-05-24 10:39:01.476100失败加载JavaScript资源:http.js-sap.ui.ModuleSystem日志.js?eval:452

在终端中,我收到的消息如下:

在CCD_ 11处优选内置模块CCD_,传递preferBuiltins: false以禁用此行为,或者preferBuiltins: true禁用此警告

在Chrome的源代码下,我可以看到UI5库已经加载,还有一个soap.js文件已经解析,现在使用sap.ui.definde。然而,soap将需要的所有包(例如http)都没有被加载。

我搜索了很长时间,没有找到可以解析终端输出中提到的preferBuiltins: true的位置,我甚至不确定这是否能解决我的问题。

npm包soap适用于Node.js,不适用于浏览器。http包是一个标准的Node.js包。

我认为包裹easy-soap-request(https://www.npmjs.com/package/easy-soap-request)可能符合您的需要。虽然我没有使用这个软件包的经验,但自述文件提供了一个来自浏览器的示例。

最新更新