0

我正在尝试在 Ember 应用程序中使用 Babylon.js,并且遇到与 Ember 扩展数组原型(Babylon 也这样做)冲突相关的错误。巴比伦的具体错误:

Uncaught TypeError: renderingGroup.prepare is not a function

我使用 Babylon.js 作为依赖项创建了一个 Ember CLI 插件(禁用了原型扩展),并且在插件的虚拟应用程序中进行测试时它可以工作。

一旦我将插件导入我现有的应用程序(启用原型扩展),它就会再次中断(出现相同的错误)。一旦安装到启用了原型扩展的应用程序中,插件是否可以与其依赖项(禁用维护原型扩展)隔离?是否有任何其他可能的解决方案可以让 Bableon.js 在 Ember 中工作?谢谢。

4

1 回答 1

1

您还必须在导入应用程序中禁用原型扩展。

“数组原型扩展”是一种全局修改,您不能在插件中隔离它们。一旦修改了数组的原型,它将针对数组的每个实例进行修改。它是否存在于 Ember 应用程序、JQuery 或<script>您体内的标签中并不重要。

见:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain

也许您可以尝试使用 Ember 和 Babylon 添加的原型扩展,使它们不会相互冲突……当然这听起来需要做很多工作……

于 2015-04-22T05:24:47.587 回答