覆盖worklight.js

时间:2015-12-31 14:43:03

标签: ibm-mobilefirst

我正在使用IBM MobileFirst Platform开发应用程序,我发现Worklight.js文件存在问题。 Worklight.js正在扩展函数原型,定义了几个方法,如bind,curry,wrap等。

我的应用程序是使用aurelia框架构建的,在将框架升级到最后一个版本后,我面临一个与绑定扩展相关的时髦问题。

如果我在worklight.js中注释bind扩展,一切似乎都像魅力一样(不知道为什么worklight会实现它的绑定版本)。

Worklight.js文件似乎在构建时添加到wlapp包中。有没有办法可以覆盖这个文件,所以每次构建应用程序时我都不必修改.wlapp文件?

由于

2 个答案:

答案 0 :(得分:1)

对您提出的具体问题的直接回答是,不,没有办法覆盖worklight.js。这是MobileFirst Platform客户端运行所需的核心JavaScript代码,因此用户无法通过任何方式对其进行修改 - 它会被注入您的应用程序(即,进入WLAPP文件) )在构建过程中。

我不知道Aurelia有任何具体问题,但过去确实看到过使用两种不同框架的应用程序(例如,MobileFirst Platform / Worklight等等)"打& #34;因为他们都希望实现彼此不兼容的扩展 - 在这种情况下,一个框架或另一个框架通常需要更改以适应另一个框架。

如果您是有付费支持的客户,我建议您打开PMR,以便让我们的开发人员查看该问题。

答案 1 :(得分:1)

我对Angular有同样的问题。 Worklight绑定使Angular控制器无法实例化。解决方案是在加载工作灯后恢复绑定功能。

var bind = Function.prototype.bind;
window.wlCommonInit = function() {
  Function.prototype.bind = bind;
};