我有一个与业力和ui5有关的问题。 目前的情况如下:
我使用 karma-openui5 并通过 bower 加载 ui5。Karma-openui5 只是添加了一些引导信息和核心文件本身:
files.unshift({pattern: ui5path, included: true, watched: false, served: true});
这导致了这个头部条目:
<script type="text/javascript" src="/base/bower_components/openui5-sap.ui.core/resources/sap-ui-core.js" crossorigin="anonymous"></script>
Ui5 旨在加载与核心文件相关的所有其他内容,但由不同 bower 包中的 SAP 提供服务,这意味着,请求是:
http://localhost:9876/base/bower_components/openui5-sap.ui.core/resources/sap/m/library-preload.js
但它实际上位于
http://localhost:9876/base/bower_components/openui5-sap.m/resources/sap/m/library-preload.js
我可以通过代理条目克服这个问题。但是我不能包含.css文件,其中一个文件位于单独的 bower 包中。我看不到仅将 */**/.css请求代理到另一个目录的方法。因此,这种方式效果不佳。
Openui5已经有一些中间件(connect-openui5)来解决这个问题,并在localhost:XXXX/resources/下按预期服务器所有内容。
如何以及在业力中添加自定义脚本标签? 比如:
<script type="text/javascript" src="resources/sap-ui-core.js"></script>
如何添加中间件 (connect-openui5) 来处理对/resources/**/* 的所有请求?
解决方案是使用来自 sap 的连接中间件,从 grunt 和代理开始。
我把所有东西都装在一个 yeoman 生成器里,如果有人对设置感兴趣的话。
https://www.npmjs.com/package/generator-ui5