我正在尝试在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)可能符合您的需要。虽然我没有使用这个软件包的经验,但自述文件提供了一个来自浏览器的示例。